Using Natural Libraries

#### Search Results

Search

# Using Natural Libraries

Natural objects stored in the Natural system files FNAT and FUSER are grouped into logical constructs called libraries. A Natural library is used to organize objects according to functional criteria. For example, a library can consist of a set of objects that perform a particular task. If Natural Security is installed, a library can also be used to restrict object access to a particular group of users such as administrators.

A Natural application can access objects in multiple libraries depending on how the environment is set up.

All operations on a library are performed with Natural menu functions or corresponding commands. See also the section Using Commands and Menu Functions.

#### Related Topics:

- Natural System Files - Natural System Architecture documentation

- Libraries in System Files - Natural System Architecture documentation

- Library Maintenance - Natural Security documentation

This section covers the following topics:

- Objects Contained in a Library

- Library Types

- Steplib Libraries

- Search Sequence for Object Execution

- Default Library Assignment

- Logging on to a Library

- Creating a Library

- Listing Libraries

- Listing Objects in a Library

- Printing a List of Objects

- Finding Objects in a Library

- Copying, Moving and Renaming Libraries

- Deleting Objects in a Library

## Objects Contained in a Library

A library contains object modules (source object and cataloged object, if applicable) of the following types of Natural object: program, subprogram, subroutine, copycode, helproutine, class, function, recording, map, local data area, global data area, parameter data area, command processor source, error message, dialog, debug environment, adapter and resource.

#### Related Topics:

- Cataloged Object

- Source Object

## Library Types

This section describes the types of Natural library provided:

- User Library

- System Library

### User Library

A user library contains objects of a user application which are specific to this application and which are required to run the application. A user library is contained in the FUSER system file.

### System Library

A system library is maintained by Software AG. It is contained in the FNAT system file.

A system library contains all objects required to run a Natural system application.

In addition, there are system libraries that contain objects of the type program, which are provided for demonstration purposes: see Example Libraries in the section Natural Main Menu.

Note that you cannot log on to the system libraries SYSLIB and SYSLIBS. They are reserved for internal use by Software AG. If you try to log on to either library, you will receive the following message: `Libraries SYSLIB and SYSLIBS reserved for system usage`.

Important
Do not store any user-specific objects in a Natural system library. User-specific objects can be overwritten when Software AG installation or correction data sets/files are loaded into the system files.

## Steplib Libraries

A steplib is a Natural user library or system library that is concatenated with the current user or system library. A steplib can be used as a single storage location for multiple objects that are shared by different applications. This avoids redundant storage of identical objects and helps organize applications.

A steplib is a library in which Natural searches when an object is not found in the current library (see also the following section). The standard steplibs are the libraries SYSTEM in the FUSER and the FNAT system files.

#### Related Topics in the Parameter Reference Documentation:

- STEPLIB - Additional Steplib Library

- BPSFI - Object Search First in Buffer Pool

This section covers the following topics:

- Additional Steplibs with Natural Security

- Additional Steplibs without Natural Security

- Checking the Steplib Setting

### Additional Steplibs with Natural Security

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. These steplibs are searched for an object before the standard steplibs SYSTEM (FUSER and FNAT).

#### Related Topic:

- Steplibs - Natural Security documentation

### Additional Steplibs without Natural Security

If Natural Security is not active, you can specify one additional steplib with the Natural profile parameter `STEPLIB` at session start. 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.

These steplibs are searched for an object before the standard steplibs SYSTEM (FUSER and FNAT).

### Checking the Steplib Setting

To check the steplib setting of your current library

1. Enter the following system command:

       TECH

   The TECH window appears.

2. Scroll down the window by choosing ENTER repeatedly until the Steplib column appears.

#### Related Topic:

- TECH - System Commands documentation

## Search Sequence for Object Execution

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.

#### The search sequence for a user-written object to be executed from a user library is as follows:

1. The current library in the FUSER system file as defined by the system variable `*LIBRARY-ID`.

2. The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.

3. The default steplib as defined by the system variable `*STEPLIB`.

4. The library SYSTEM in the FUSER system file.

5. The library SYSTEM in the FNAT system file.

#### The search sequence for a Natural object to be executed from a system library is as follows:

1. The current "SYS" library in the FNAT system file as defined by the system variable `*LIBRARY-ID`.

2. The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.

3. The library SYSLIBS in the FNAT system file, which contains objects shared by system commands and utilities.

4. The library SYSTEM in the FNAT system file.

5. 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.

#### Related Topics in the System Variables Documentation:

- *LIBRARY-ID

- *STEPLIB

## Default Library Assignment

When you start a Natural session, you are logged on to a library assigned by Natural. A Natural screens usually provides a field (for example, Library or LIB=) that indicates the name (ID) of your library, that is, the current library (for example, `LIB=SYSTEM`) where Natural objects are stored and from which they are retrieved.

To find out your current library

- Enter the following system command:

      TECH

  The TECH window appears. The library where you are currently logged on is listed in the Library field.

The default library ID assigned by Natural is `SYSTEM` if the Natural profile parameter `AUTO` is set to `OFF`. You can change the default library ID at session startup by setting `AUTO` to `ON`. `AUTO=ON` initiates an automatic logon to the library that corresponds to your user ID. However, different rules apply if you log on to Natural under Natural Security as described in the Natural Security documentation.

You may have to log on to another library to perform a maintenance function or work on a different application as described in Logging on to a Library.

#### Related Topics:

- TECH - System Commands documentation

- AUTO - Parameter Reference documentation

- Logging On - Natural Security documentation

## Logging on to a Library

When you create or maintain Natural objects or execute a Natural program inside a specific library, you may have to switch libraries and first log on to the library or steplib (see Steplib Libraries) that contains (or is to contain) the object.

You usually use the system command `LOGON` to log on to a library. However, different rules apply if you log on to Natural under Natural Security as described in the Natural Security documentation.

After a successful logon to a library that does not contain any objects, the confirmation message reads: `This library is empty.`

Note
The system command `LOGON` does not consider objects of the types error message and debug environment. Therefore, the confirmation message only refers to all object types other than error messages and debug environments. You can find out whether a library contains error messages or debug environments, for example, by using the SYSMAIN utility, or the utilities SYSERR and the debugger, respectively.

You can also find out whether a library is empty (except for error messages and/or debug environments) by using the system command `LIST` described in Listing Objects in a Library.

The library to which you are logged on remains active until you log on to another library or terminate your Natural session.

To log on to a library

1. Enter the following system command:

       LOGON library-ID

   where library-ID is the name (ID) of the library you want to access.

   Or:
   From the Natural Main Menu or its subordinate menus:

   In the top right-hand corner of the screen, in the Library field, replace the library ID displayed with another library ID (see also Example of a Menu Function in the section Using Commands and Menu Functions).

2. Press ENTER.

   If the library ID you entered complies with the library naming conventions, the following confirmation message appears: `Logon accepted to library library-ID.`

#### Related Topics:

- LOGON and LOGOFF - System Commands documentation

- Logging On - Natural Security documentation

## Creating a Library

You create a library by using either the system command `LOGON` for an empty library where you create an object, or the move or copy function of a Natural utility when transferring objects.

To create a library

- If you use the system command `LOGON`, proceed as described in Logging on to a Library. Specify a library ID (see also Library Naming Conventions) that logs you on to a library that does not contain any objects. In this library, create at least one cataloged object or one source object.

  Or:
  If you want to move or copy objects from an existing library to a new one, proceed as described in Moving, Copying and Renaming Libraries.

## Listing Libraries

You can obtain a list of all libraries available in your current Natural system environment, for example, by using the SYSMAIN utility.

The instructions in this section are examples of listing libraries by using either SYSMAIN menu functions or a corresponding command.

To list all libraries using menu functions

1. From the Natural Main Menu, choose Maintenance and Transfer Utilities.

2. Press ENTER.

   The Maintenance and Transfer Utilities screen appears.

3. Select Transfer Objects to Other Libraries.

   Or:
   Enter the following system command:

       SYSMAIN

4. Press ENTER.

   The Main Menu of the SYSMAIN utility similar to the example below appears:

        14:09:48             ***** NATURAL SYSMAIN UTILITY *****            2013-05-02
        User SAG                        - Main Menu -

                    Code  Object                             Code  Function

                      A   Programming Objects                  C   Copy
                      D   Debug Environments                   D   Delete
                      E   Error Message Texts                  F   Find
                      P   Profiles                             L   List
                      R   Rules                                M   Move
                      S   DL/I Subfiles                        R   Rename
                      V   DDMs                                 ?   Help
                      X   Predict Sets
                      ?   Help                                 .   Exit
                      .   Exit

       Object Code .. A                       Function Code .. _

       Command ===>

       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Menu  Exit  Copy  Del   Find  List  Move  Ren

5. In the Object Code field, enter an `A` (default setting) to list all libraries that contain Natural objects except error messages and debug environments (for error messages, enter an `E`, for debug environments a `D`).

   In the Function Code field, enter an `L` (for List).

6. Press ENTER.

   The List Programming Objects screen appears.

7. In the Code field, enter an `A` to search for libraries that contain all types of object module: cataloged objects and source objects.

   In the Source Library field, enter an asterisk (*) to search for all libraries.

   (For valid name ranges, see Specifying a Range of Names in the SYSMAIN Utility documentation.)

   Leave all other input fields unchanged.

8. Press ENTER.

   The Library Selection screen appears with a list of all libraries available in the current system file.

   Press ENTER to scroll down the list, PF11 to scroll right and PF12 to scroll left.

From the Library Selection screen, you can select a particular library and list the objects contained in that library. For further information on the Library Selection screen, see Related Topic below.

To list all libraries using a command

1. Enter the following system command:

       SYSMAIN LIST ALL * IN LIBRARY *

2. Press ENTER.

   The Library Selection screen appears with a list of all libraries available in the current system file.

#### Related Topic:

- Listing and Selecting Libraries - SYSMAIN Utility documentation

## Listing Objects in a Library

You can obtain a list of objects contained in a library by using either the system command `LIST` or the corresponding function of the Natural utility SYSMAIN or the Object Handler.

Note
The system command `LIST` does not process objects of the types error message and debug environment. You can list error messages or debug environments, for example, by using the SYSMAIN utility.

This section describes how to obtain a list of objects by using `LIST`.

To list objects using `LIST`

1. Enter the following system command:

       LIST *

   where asterisk (*) specifies that all source objects and cataloged objects are to be listed
   (see also object-name-range in LIST in the System Commands documentation).

2. Press ENTER.

   A LIST Objects in a Library screen similar to the example below appears with a list of source objects and cataloged objects available in the current library (in the example below: `TEST`) in the current system file:

       10:09:25               ***** NATURAL LIST COMMAND *****              2012-07-24
       User SAG                 - LIST Objects in a Library -         Library TEST

       Cmd  Name       Type         S/C  SM Version  User ID    Date        Time
       ---  *________  *__________  *__  *  *______  *________  *__________ *________
       __   COPYLDA    Copycode     S    R  8.2.02   SAG        2012-07-23  17:58:19
       __   DEMOSPGM   Subprogram   S/C  S  8.2.02   SAG        2012-07-23  17:58:34
       __   EMP-L      Local        S/C     8.2.02   SAG        2012-07-23  17:58:47
       __   GDATEST    Global       S       8.2.02   SAG        2012-07-24  10:09:25
       __   HELPR1     Helproutine  S/C  S  8.2.02   SAG        2012-07-24  10:02:59
       __   LDATEST    Local        S/C     8.2.02   SAG        2012-07-23  17:59:16
       __   MAPTEST    Map          S/C  S  8.2.02   SAG        2012-07-24  10:04:44
       __   MAP01      Map          S/C  S  8.2.02   SAG        2012-07-24  10:04:25
       __   PDASTUB    Subprogram   S/C  S  8.2.02   SAG        2012-07-24  10:03:41
       __   PDATEST    Parameter    S/C     8.2.02   SAG        2012-07-24  10:03:47
       __   PGMTEST    Program      S/C  S  8.2.02   SAG        2012-07-24  10:03:53
       __   PGM01      Program      S    S  8.2.02   SAG        2012-07-23  17:59:02
       __   SUBPGM1    Subprogram   S    S  8.2.02   SAG        2012-07-23  17:59:08
       __   SUBRTEST   Subroutine   S/C  R  8.2.02   SAG        2012-07-24  10:07:58
       __   TESTPGM    Program      S    S  8.2.02   SAG        2012-07-24  10:05:26
       __   TEXTTEST   Text         S       8.2.02   SAG        2012-07-24  10:05:43

                                                                     16 Objects found
       Top of List.
       Command ===>
       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Print Exit  Sort        --    -     +     ++          >     Canc

   The list is sorted by the name of the object (Name column) and contains further information on the object such as the type of object (for example, `Program`), the type of object module (S/C column: `S` = source object, `C` = cataloged object) available and the ID of the user who created or modified the object.

From the LIST Objects in a Library screen, you can select an object for further processing such as listing the source code of an object or deleting objects from a library as described in To delete objects using LIST in the section Deleting Objects in a Library.

For further information on the LIST Objects in a Library screen and other options provided with `LIST` such as listing a particular range of object names or sorting the list of objects, see the related topics below.

#### Related LIST Topics in the System Commands Documentation:

- object-name-range

- Explanation of the Column Headers

- Sorting the List of Objects

- Performing a Function on an Object

## Printing a List of Objects

You can print a list of objects contained in the current library in the current system file.

To print a list of objects

1. Invoke the LIST Objects in a Library as described in Steps 1 and 2 in Listing Objects in a Library.

2. Press PF2 (Print).

   The PRINT window appears.

3. In the Destination field, enter a valid printer name (if required, ask your Natural administrator for a printer available in your current environment). If required, change the page size (the default setting is 60 lines).

4. Press ENTER.

   The Printout Specification screen appears where you can specify printer settings such as the amount of copies to be printed.

5. Press ENTER.

   The list of objects contained in the library is printed on the specified printer device.

#### Related Topics:

- Printing Objects

- LIST - System Commands documentation

## Finding Objects in a Library

You can use the SYSMAIN utility or the system command `SCAN` to search for objects contained in a library.

- Searching for Objects using SYSMAIN

- Searching for Objects using SCAN

### Searching for Objects using SYSMAIN

The following instructions are examples of finding objects by specifying search criteria by using either SYSMAIN menu functions or a corresponding command.

To find objects using menu functions

1. Invoke the Main Menu of the SYSMAIN utility as described in Steps 1 through 4 of To list all libraries using menu functions.

2. In the Object Code field, enter an `A` (default setting) to search for all types of object.

   (Exceptions: for error messages, enter an `E`, for debug environments a `D`.)

   In the Function Code field, enter an `F` (Find).

3. Press ENTER.

   The Find Programming Objects screen appears.

4. In the Code field, enter an `A` to search for all types of object module: cataloged objects and source objects.

   In the Object Name field, enter an asterisk (*) to search for all object names. Asterisk (*) is the default setting.

   (For valid name ranges, see Specifying a Range of Names in the SYSMAIN Utility documentation.)

   In the Source Library field, enter the ID of the library, in which to perform the search operation.

   In the Criteria field, replace `N` (No) by `Y` (Yes). `N` is the default setting.

   Leave all other input fields unchanged.

5. Press ENTER.

   The Additional Criteria window appears where you can enter additional search criteria as shown in the example below:

       18:23:16              ***** NATURAL SYSMAIN UTILITY *****            2009-05-20
        User SAG                  - Find Programming Objects -
                           +------------------------------------------+
                           !       --- Additional Criteria ---        !
                           !                                          !
                           !  Object Type ..... PM__________________  !
                           !  Date/Time From .. 2006-05-09 _____      !
                           !  Date/Time To .... 2009-05-01 _____      !
                           !  User ID ......... SAG______             !
                           !  Terminal ID ..... ________              !
                           !                                          !
                           !                                          !
                           !  Command ===>                            !
                   Code .. !                                          !
           Object  Name .. +------------------------------------------+

           Source  Library ... TEST____    Database .... 10___  File .. 32___

           Options                         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

6. Enter one or more search criteria and press ENTER.

   The window is closed. A plus (+) sign in front of the Criteria field indicates when additional criteria other than the object type are specified in the window.

7. Press ENTER again.

   The Find Selection screen appears with a list of all source objects and cataloged objects that are available in the specified library in the current system file and that meet the specified search criteria. In the example above, all objects of the types `P` (program) and `M` (map) that were created or modified between `2006-05-09` and `2009-05-01` by the user `SAG` are listed.

8. Press ENTER to scroll down the list until the following message appears: `Library has been successfully listed.`

From the Find Selection screen, you can select an object for further processing such as listing the source code of an object as described in Selection Lists for Programming Objects in the SYSMAIN Utility documentation.

#### Related Topic:

- Using Menu Functions and Commands - SYSMAIN Utility documentation

To find objects using a command

1. Enter the following system command:

       SYSMAIN FIND ALL * TYPE PN WITH USER user-ID IN library-ID

   where:

   `ALL` specifies that all source objects and cataloged objects are to be selected for the search operation.

   Asterisk (*) specifies that all object names are to be selected for the search operation (see also Specifying a Range of Names in the SYSMAIN Utility documentation).

   `PN` specifies the types of object for which to search: `P` denotes program, `N` denotes subprogram.

   library-ID is the ID of the library in which to search.

   user-ID is the ID of the user for which to search.

2. Press ENTER.

   The Find Selection screen appears with a list of all source objects and cataloged objects of the types program and subprogram that were created or modified by the specified user.

#### Related Topic:

- Keywords and Variables in Direct Commands - SYSMAIN Utility documentation

### Searching for Objects using SCAN

The following instructions are examples of finding objects by scanning their sources for a particular string of characters by using the system command `SCAN`.

Note
The `SCAN` does not process objects of the types error message and debug environment. You can scan error messages by using the Scan in messages function of the Natural utility SYSERR.

To scan sources using menu functions

1. Enter the following system command:

       SCAN

2. Press ENTER.

   A Scan Objects in Libraries screen similar to the example below appears where you can specify an object range and a scan value:

       18:24:53               ***** NATURAL SCAN COMMAND *****              2009-05-20
       User SAG                - Scan Objects in Libraries -          Library TEST

                           Code  Function

                            T    Statistics
                            L    List of Objects Containing Scan Value
                            S    Object Lines with Scan Value
                            ?    Help
                            .    Exit

          Code ............ L
          Scan value ...... LOCAL___________________________
          Replace value ... GLOBAL__________________________
          Library ......... TESTLIB_
          Object name ..... *________                  Selection list .. N
          Object type(s) .. *_____________
          Absolute scan ... N                          Trace ........... N

       Command ===>

       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Menu  Exit

   In the Code field, enter an `L` (for List of Objects Containing Scan Value) and specify a scan value, a library and an object range; asterisk (*) selects all object names and object types.

   In the Replace value field, you can enter a character string (for example, `GLOBAL`) that is to replace the specified scan value (for example, `LOCAL`).

3. Press ENTER.

   The Select Objects for Library screen appears for the specified library in the current system file with a list of all source objects that meet the specified search criteria. In the example above, all objects in the library `TESTLIB` that contain the character string `LOCAL` are selected.

   From the Select Objects for Library screen, you can select an object and display or modify the source line that contains the scan value.

To scan sources using a command

1. Enter the following system command:

       SCAN FUNC=L,SVAL=scan-value,LIB=library-ID,*

   where:

   scan-value is the character string (for example, `LOCAL`) for which to scan sources.

   library-ID is the ID of the library in which to search (for example, `TESTLIB`).

   Asterisk (*) specifies that all source objects are selected for the search operation.

2. Press ENTER.

#### Related Topic:

- SCAN - System Commands documentation

## Copying, Moving and Renaming Libraries

You copy or move a library by copying or moving all Natural objects from a source library to an existing or a new target library.

Renaming a library requires the same steps as moving a library. Once all objects of a library have been moved to a new target library, the old library is deleted automatically.

You can copy or move single or multiple objects from one library to another by using either the SYSMAIN utility or the Object Handler. The instructions below are examples of copying or moving all objects with SYSMAIN by using either menu functions or corresponding commands.

To copy or move all objects using menu functions

1. Invoke the Main Menu of the SYSMAIN utility as described in Steps 1 through 4 of To list all libraries using menu functions.

2. In the Object Code field, enter an `A` (default setting) to select all types of object.

   (Exceptions: for error messages, enter an `E`, for debug environments a `D`.)

   In the Function Code field, enter a `C` (for Copy) or an `M` (for Move).

3. Press ENTER.

   Depending on the function code entered, either the Copy Programming Objects or the Move Programming Objects screen appears.

4. In the Code field, enter an `A` to select all types of object module: cataloged objects and source objects.

   In the Sel. List (Selection List) field, replace `Y` (Yes) by `N` (No). `Y` is the default setting.

   In the Object Name field, enter an asterisk (*) to select all object names. Asterisk (*) is the default setting.
   (For valid name ranges, see Specifying a Range of Names in the SYSMAIN Utility documentation.)

   In the Source Library field, enter the ID of the library that contains the objects to be copied or moved.

   In the Target Library field, enter the ID of an existing or a new library to which you want to copy or move the objects.

   Leave all other input fields unchanged.

5. Press ENTER.

   All source and cataloged objects are copied or moved between the specified source and target libraries in the current system file and the following message appears: `Function completed successfully.`

To copy or move all objects using commands

1. Enter one of the following system commands:

       SYSMAIN COPY ALL * FM old-library TO new-library

   (copies objects)

   or

       SYSMAIN MOVE ALL * FM old-library TO new-library

   (moves objects)

   where:

   `ALL` specifies that all source objects and cataloged objects are to be selected.

   Asterisk (*) specifies that all object names are to be selected
   (see also Specifying a Range of Names in the SYSMAIN Utility documentation).

   old-library is the ID of the library that contains the objects to be copied or moved.

   new-library is the ID of an existing or a new library (see also Library Naming Conventions).

2. Press ENTER.

   If the copy or move operation was successful, the command processed is displayed on the screen followed by the message: `Function completed successfully.`

For further information on the functions provided with the SYSMAIN utility such as replacing or renaming objects, refer to the Utilities documentation.

## Deleting Objects in a Library

A library is only maintained in a Natural environment as long as it contains at least one source object or one cataloged object. If you delete all objects from a library, this library is no longer available.

You can delete single or multiple objects from a library by using the system command `LIST` or a Natural utility.

The instructions below are examples of deleting objects from the current library by using the system command `LIST`, and deleting objects from a different library by using the menu functions or commands of the SYSMAIN utility.

To delete objects using `LIST`

1. Enter the following system command:

       LIST *

   where asterisk (*) specifies that all source objects and cataloged objects are to be listed
   (see also object-name-range in LIST in the System Commands documentation).

2. Press ENTER.

   The LIST Objects in a Library screen appears with a list of source objects and cataloged objects available in the current library in the current system file.

3. In the Cmd column, next to the object(s) required, enter the following:

       DE

   as shown on the example screen below.

4. Press ENTER.

   A DELETE window similar to the example below appears:

       17:04:25               ***** NATURAL LIST COMMAND *****              2010-03-01
       User SAG                 - LIST Objects in a Library -         Library TEST

       Cmd  Name       Type         S/C  SM Version  User ID    Date        Time
       ---  *________  *__________  *__  *  *______  *________  *__________ *________
       DE   COPYLDA    Co +---------------DELETE---------------+ 010-03-01  15:10:48
       DE   DEMOSPGM   Su |                                    | 010-02-05  19:00:08
       DE   EMP-L      Lo |    Please select one item:         | 010-03-01  15:31:31
       DE   GDATEST    Gl |                                    | 010-03-01  15:23:37
       __   HELPR1     He |    _  Confirm each deletion        | 010-03-01  15:13:12
       __   LDATEST    Lo |    _  Delete without confirmation  | 010-02-05  18:49:14
       __   MAPTEST    Ma |    _  Exit (no deletion)           | 010-03-01  15:14:16
       __   PDASTUB    Su |                                    | 010-03-01  15:31:18
       __   PDATEST    Pa +------------------------------------+ 010-03-01  15:31:24
       __   PGM01      Program      S    S  8.2.01   SAG        2010-03-01  15:29:31
       __   SUBPGM1    Subprogram   S    S  8.2.01   SAG        2010-03-01  15:25:02
       __   SUBRTEST   Subroutine   S/C  R  8.2.01   SAG        2010-03-01  15:30:12
       __   TESTPGM    Program      S    S  8.2.01   SAG        2010-03-01  15:26:40
       __   TEXTTEST   Text         S       8.2.01   SAG        2010-03-01  15:05:23

                                                                     14 Objects found

       Command ===>
       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Print Exit  Sort        --    -     +     ++          >     Canc

5. Mark an item by typing in any character next to the option required and press ENTER:

   Confirm each deletion invokes a window for each object to be deleted in which you type in the name of the object to confirm the delete operation.

   Delete without confirmation immediately executes the delete operation(s).

   Exit cancels the delete operation(s).

To delete objects using SYSMAIN menu functions

1. Invoke the Main Menu of the SYSMAIN utility as described in Steps 1 through 4 of To list all libraries using menu functions.

2. In the Object Code field, enter an `A` (default setting) to select all types of object.

   (Exceptions: for error messages, enter an `E`, for debug environments a `D`.)

   In the Function Code field, enter a `D` (for Delete).

3. Press ENTER.

   The Delete Programming Objects screen appears.

4. In the Code field, enter an `A` to select all types of object module: cataloged objects and source objects.

   In the Sel. List (Selection List) field, replace `Y` (Yes) by `N` (No). `Y` is the default setting.

   In the Object Name field, enter an asterisk (*) to select all object names. Asterisk (*) is the default setting.
   (For valid name ranges, see Specifying a Range of Names in the SYSMAIN Utility documentation.)

   In the Source Library field, enter the ID of the library you want to delete.

   Leave all other input fields unchanged.

5. Press ENTER.

   All source objects and cataloged objects are deleted from the specified library in the current system file and the following message appears: `Function completed successfully.`

To delete all objects using a SYSMAIN command

1. Enter the following system command:

       SYSMAIN DELETE ALL * FM library-ID

   where:

   `ALL` specifies that all source objects and cataloged objects are to be selected.

   Asterisk (*) specifies that all object names are to be selected
   (see also Specifying a Range of Names in the SYSMAIN Utility documentation).

   library-ID is the ID of the library that contains the objects to be deleted.

2. Press ENTER.

   If the delete operation was successful, the command processed is displayed on the screen followed by the message: `Function completed successfully.`

### On this page

- Objects Contained in a Library
- Library Types
- Steplib Libraries
- Search Sequence for Object Execution
- Default Library Assignment
- Logging on to a Library
- Creating a Library
- Listing Libraries
- Listing Objects in a Library
- Printing a List of Objects
- Finding Objects in a Library
- Copying, Moving and Renaming Libraries
- Deleting Objects in a Library