?? NEWTITLE := 'NOS/VE Job Scheduling : administer_job_class' ??
MODULE jmm$administer_job_class;

{ PURPOSE:
{   This module defines the commands that make up the subutility of
{   ADMINISTER_SCHEDULING called ADMINISTER_JOB_CLASS.  This utility
{   manages the job classes on the scheduling profile.  The procedures
{   in this module allow the administrator to create, change, delete
{   and display job classes on/from the scheduling profile.
{
{ DESIGN:
{   This module mainly provides the framework for the utility.  It
{   contains the PDTs and code for the subutility and it's subcommands.
{
{ NOTES:
{   Most of the work of creating, deleting, changing, and displaying is
{   done in routines which are generalized to handle all types of objects.
{   These routines can be found in the modules JMM$ADMINISTER_DISPLAY and
{   JMM$ADMINISTER_OBJECTS.

?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc jmc$class_names
*copyc jmt$job_class_attributes
?? POP ??
*copyc clp$begin_utility
*copyc clp$end_include
*copyc clp$end_utility
*copyc clp$include_file
*copyc clp$evaluate_parameters
*copyc jmp$add_object
*copyc jmp$change_object
*copyc jmp$delete_object
*copyc jmp$get_attributes
*copyc jmp$move_object
*copyc jmp$set_default_attributes

*copyc jmv$current_profile_level
?? OLDTITLE ??
?? NEWTITLE := 'Global Declarations Declared by This Module', EJECT ??

  CONST
    milliseconds_per_second = 1000,
    microseconds_per_second = milliseconds_per_second * 1000;

  CONST
    lowest_prio_age_interval = jmc$lowest_prio_age_interval DIV
          microseconds_per_second,
    highest_prio_age_interval = jmc$highest_prio_age_interval DIV
          microseconds_per_second;

  VAR
    command_file: amt$local_file_name := clc$current_command_input,
    utility_name: string (31) := 'ADMINISTER_JOB_CLASS           ',
    utility_attributes: array [1 .. 2] of clt$utility_attribute :=
          [[clc$utility_command_table, * ], [clc$utility_prompt, [3, 'AJC']]];

{ table command_table
{ command (add_job_category_entry add_job_category_entries, addjce)   ..
{   jmp$_add_job_category_entry
{ command (delete_job_category_entry delete_job_category_entries, deljce)   ..
{   jmp$_delete_job_category_entry
{ command (create_class, crec), jmp$_create_class
{ command (change_attribute, change_attributes, chaa),   ..
{   jmp$_change_attribute
{ command (display_attribute, display_attributes, disa),   ..
{   jmp$_display_job_class cm=xref
{ command (delete_class, delc), jmp$_delete_class
{ command (quit, qui), jmp$_quit
{ tablend

?? PUSH (LISTEXT := ON) ??

  VAR
    command_table: [STATIC, READ] ^clt$command_table := ^command_table_entries,

    command_table_entries: [STATIC, READ] array [1 .. 18] of
          clt$command_table_entry := [
          {} ['ADDJCE                         ', clc$abbreviation_entry,
          clc$advertised_entry, 1, clc$automatically_log, clc$linked_call,
          ^jmp$_add_job_category_entry],
          {} ['ADD_JOB_CATEGORY_ENTRIES       ', clc$alias_entry,
          clc$advertised_entry, 1, clc$automatically_log, clc$linked_call,
          ^jmp$_add_job_category_entry],
          {} ['ADD_JOB_CATEGORY_ENTRY         ', clc$nominal_entry,
          clc$advertised_entry, 1, clc$automatically_log, clc$linked_call,
          ^jmp$_add_job_category_entry],
          {} ['CHAA                           ', clc$abbreviation_entry,
          clc$advertised_entry, 4, clc$automatically_log, clc$linked_call,
          ^jmp$_change_attribute],
          {} ['CHANGE_ATTRIBUTE               ', clc$nominal_entry,
          clc$advertised_entry, 4, clc$automatically_log, clc$linked_call,
          ^jmp$_change_attribute],
          {} ['CHANGE_ATTRIBUTES              ', clc$alias_entry,
          clc$advertised_entry, 4, clc$automatically_log, clc$linked_call,
          ^jmp$_change_attribute],
          {} ['CREATE_CLASS                   ', clc$nominal_entry,
          clc$advertised_entry, 3, clc$automatically_log, clc$linked_call,
          ^jmp$_create_class],
          {} ['CREC                           ', clc$abbreviation_entry,
          clc$advertised_entry, 3, clc$automatically_log, clc$linked_call,
          ^jmp$_create_class],
          {} ['DELC                           ', clc$abbreviation_entry,
          clc$advertised_entry, 6, clc$automatically_log, clc$linked_call,
          ^jmp$_delete_class],
          {} ['DELETE_CLASS                   ', clc$nominal_entry,
          clc$advertised_entry, 6, clc$automatically_log, clc$linked_call,
          ^jmp$_delete_class],
          {} ['DELETE_JOB_CATEGORY_ENTRIES    ', clc$alias_entry,
          clc$advertised_entry, 2, clc$automatically_log, clc$linked_call,
          ^jmp$_delete_job_category_entry],
          {} ['DELETE_JOB_CATEGORY_ENTRY      ', clc$nominal_entry,
          clc$advertised_entry, 2, clc$automatically_log, clc$linked_call,
          ^jmp$_delete_job_category_entry],
          {} ['DELJCE                         ', clc$abbreviation_entry,
          clc$advertised_entry, 2, clc$automatically_log, clc$linked_call,
          ^jmp$_delete_job_category_entry],
          {} ['DISA                           ', clc$abbreviation_entry,
          clc$advertised_entry, 5, clc$automatically_log, clc$linked_call,
          ^jmp$_display_job_class],
          {} ['DISPLAY_ATTRIBUTE              ', clc$nominal_entry,
          clc$advertised_entry, 5, clc$automatically_log, clc$linked_call,
          ^jmp$_display_job_class],
          {} ['DISPLAY_ATTRIBUTES             ', clc$alias_entry,
          clc$advertised_entry, 5, clc$automatically_log, clc$linked_call,
          ^jmp$_display_job_class],
          {} ['QUI                            ', clc$abbreviation_entry,
          clc$advertised_entry, 7, clc$automatically_log, clc$linked_call,
          ^jmp$_quit],
          {} ['QUIT                           ', clc$nominal_entry,
          clc$advertised_entry, 7, clc$automatically_log, clc$linked_call,
          ^jmp$_quit]];

  PROCEDURE [XREF] jmp$_display_job_class
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

?? POP ??
?? OLDTITLE ??
?? NEWTITLE := 'jmp$_add_job_category_entry ', EJECT ??

{ PURPOSE:
{   Processes the ADD_JOB_CATEGORY_ENTRY command.
{
{ DESIGN:
{   Obtains the job categories to add, determines the job classes to change,
{   and applies the change to each job class.
{
{ NOTES:
{  See JMM$ADMINISTER_OBJECTS,
{      JMM$ADMINISTER_ATTRIBUTES,
{      JMM$ADMINISTER_DEFINITIONS.

  PROCEDURE jmp$_add_job_category_entry
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_addjce) add_job_category_entry (
{   class_name, class_names, cn: any of
{       key all keyend
{       list of name
{     anyend = $current_job_class
{   excluded_categories, ec: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   required_categories, rc: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 8] of clt$pdt_parameter_name,
        parameters: array [1 .. 4] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
          default_value: string (18),
        recend,
        type2: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
        recend,
        type3: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
        recend,
        type4: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 37, 42, 537], clc$command, 8, 4, 0, 0, 0,
            0, 4, 'OSM$ADMJC_ADDJCE'], [['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CLASS_NAMES                    ',
            clc$alias_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['EC                             ',
            clc$abbreviation_entry, 2], ['EXCLUDED_CATEGORIES            ',
            clc$nominal_entry, 2], ['RC                             ',
            clc$abbreviation_entry, 3], ['REQUIRED_CATEGORIES            ',
            clc$nominal_entry, 3], ['STATUS                         ',
            clc$nominal_entry, 4]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name,
            clc$specify_positionally], clc$pass_by_value,
            clc$immediate_evaluation, clc$standard_parameter_checking, 85,
            clc$optional_default_parameter, 0, 18],

{ PARAMETER 2

      [5, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 85, clc$optional_parameter, 0, 0],

{ PARAMETER 3

      [7, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 85, clc$optional_parameter, 0, 0],

{ PARAMETER 4

      [8, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]],
            '$current_job_class'],

{ PARAMETER 2

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 3

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 4

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$class_name = 1,
      p$excluded_categories = 2,
      p$required_categories = 3,
      p$status = 4;

    VAR
      pvt: array [1 .. 4] of clt$parameter_value;

    VAR
      attributes: jmt$object_attribute;

    status.normal := TRUE;

    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$get_attributes (jmc$profile_job_class, #SEQ (pdt), ^pvt, attributes,
          status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$change_object (jmc$profile_job_class, pvt [p$class_name].value^,
          attributes, jmc$add_list_items, status);

  PROCEND jmp$_add_job_category_entry;
?? TITLE := 'jmp$_change_attribute ', EJECT ??

{ PURPOSE:
{   Processes the CHANGE_ATTRIBUTE command.
{
{ DESIGN:
{   Determines the job class objects to update, fetches the attributes that
{   are changing and updates them.
{
{ NOTES:
{  See JMM$ADMINISTER_OBJECTS,
{      JMM$ADMINISTER_ATTRIBUTES,
{      JMM$ADMINISTER_DEFINITIONS.

  PROCEDURE jmp$_change_attribute
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_chaa) change_attribute (
{   class_name, class_names, cn: any of
{       key all keyend
{       list of name
{     anyend = $current_job_class
{   abbreviation, a: (by_name) any of
{       key default, none, unspecified keyend
{       name
{     anyend = $optional
{   automatic_class_selection, acs: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   cpu_time_limit, ctl: (by_name) any of
{       key default, unlimited, system_default keyend
{       integer jmc$lowest_cpu_time_limit..jmc$highest_cpu_time_limit
{     anyend = $optional
{   cyclic_aging_interval, cai: (by_name) any of
{       key default keyend
{       record
{         default: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{         minimum: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{         maximum: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{       recend
{     anyend = $optional
{   defer_on_submit, dos: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   detached_job_wait_time, djwt: (by_name) any of
{       key default keyend
{       record
{         default: any of
{           key default, unlimited keyend
{         integer jmc$lowest_det_job_wait_time..jmc$highest_det_job_wait_time
{         anyend = $optional
{         minimum: any of
{           key default, unlimited keyend
{         integer jmc$lowest_det_job_wait_time..jmc$highest_det_job_wait_time
{         anyend = $optional
{         maximum: any of
{           key default, unlimited keyend
{         integer jmc$lowest_det_job_wait_time..jmc$highest_det_job_wait_time
{         anyend = $optional
{       recend
{     anyend = $optional
{   enable_class_initiation, eci: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   epilog, e: (by_name) any of
{       key default, none, unspecified keyend
{       file
{     anyend = $optional
{   excluded_categories, ec: (by_name) any of
{       key default, none, all keyend
{       list of name
{     anyend = $optional
{   immediate_initiation_candidate, iic: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   initial_service_class, isc: (by_name) any of
{       key default, none keyend
{        name
{     anyend = $optional
{   initial_working_set, iws: (by_name) any of
{       key default keyend
{       integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{     anyend = $optional
{   initiation_age_interval, iai: (by_name) any of
{       key default, unlimited keyend
{       integer lowest_prio_age_interval..highest_prio_age_interval
{     anyend = $optional
{   initiation_level, il: (by_name) any of
{       key default keyend
{       record
{         preferred: any of
{           key default, unlimited keyend
{         integer jmc$lowest_max_initiated_jobs..jmc$highest_max_initiated_jobs
{         anyend
{       recend
{     anyend = $optional
{   job_leveling_priority_bias, jlpb: (by_name) any of
{       key default keyend
{       integer jmc$lowest_priority_bias..jmc$highest_priority_bias
{     anyend = $optional
{   magnetic_tape_limit, mtl: (by_name) any of
{       key default, unlimited keyend
{       integer jmc$lowest_magnetic_tape_limit..jmc$highest_magnetic_tape_limit
{     anyend = $optional
{   maximum_working_set, maxws: (by_name) any of
{       key default keyend
{       record
{         default: any of
{           key default, unlimited keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{         minimum: any of
{           key default, unlimited keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{         maximum: any of
{           key default, unlimited keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{       recend
{     anyend = $optional
{   minimum_working_set, minws: (by_name) any of
{       key default keyend
{       record
{         default: any of
{           key default keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{         minimum: any of
{           key default keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{         maximum: any of
{           key default keyend
{           integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{         anyend = $optional
{       recend
{     anyend = $optional
{   multiple_job_bias, mjb: (by_name) any of
{       key default keyend
{       integer jmc$lowest_job_priority..jmc$highest_job_priority
{     anyend = $optional
{   page_aging_interval, pai: (by_name) any of
{       key default keyend
{       record
{         default: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{         minimum: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{         maximum: any of
{           key default keyend
{           integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{         anyend = $optional
{       recend
{     anyend = $optional
{   prolog, p: (by_name) any of
{       key default, none, unspecified keyend
{       file
{     anyend = $optional
{   required_categories, rc: (by_name) any of
{       key default, none, all keyend
{       list of name
{     anyend = $optional
{   selection_priority, sp: (by_name) any of
{       key default keyend
{       record
{         initial: any of
{           key default keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{         maximum: any of
{           key default keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{         increment: any of
{           key default keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{         threshold: any of
{           key default keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{       recend
{     anyend = $optional
{   selection_rank, sr: (by_name) name = $optional
{   sru_limit, sl: (by_name) any of
{       key default, unlimited, system_default keyend
{       integer jmc$lowest_sru_limit..jmc$highest_sru_limit
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??
?? FMT (FORMAT := OFF) ??

  VAR
    pdt: [STATIC, READ, cls$declaration_section] record
      header: clt$pdt_header,
      names: array [1 .. 54] of clt$pdt_parameter_name,
      parameters: array [1 .. 27] of clt$pdt_parameter,
      type1: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$list_type_qualifier,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
        default_value: string (18),
      recend,
      type2: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$name_type_qualifier,
        recend,
      recend,
      type3: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type4: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type5: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type6: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type7: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type8: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type9: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type10: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$list_type_qualifier,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
      recend,
      type11: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type12: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 2] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$name_type_qualifier,
        recend,
      recend,
      type13: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type14: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 2] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type15: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type16: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type17: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 2] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type18: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 2] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type19: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type20: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type21: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type22: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
        recend,
      recend,
      type23: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$list_type_qualifier,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
      recend,
      type24: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$record_type_qualifier,
          field_spec_1: clt$field_specification,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_3: clt$field_specification,
          element_type_spec_3: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
          field_spec_4: clt$field_specification,
          element_type_spec_4: record
            header: clt$type_specification_header,
            qualifier: clt$union_type_qualifier,
            type_size_1: clt$type_specification_size,
            element_type_spec_1: record
              header: clt$type_specification_header,
              qualifier: clt$keyword_type_qualifier,
              keyword_specs: array [1 .. 1] of clt$keyword_specification,
            recend,
            type_size_2: clt$type_specification_size,
            element_type_spec_2: record
              header: clt$type_specification_header,
              qualifier: clt$integer_type_qualifier,
            recend,
          recend,
        recend,
      recend,
      type25: record
        header: clt$type_specification_header,
        qualifier: clt$name_type_qualifier,
      recend,
      type26: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 3] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$integer_type_qualifier,
        recend,
      recend,
      type27: record
        header: clt$type_specification_header,
      recend,
    recend := [
    [1,
    [90, 1, 26, 11, 45, 37, 231],
    clc$command, 54, 27, 0, 0, 0, 0, 27, 'OSM$ADMJC_CHAA'], [
    ['A                              ',clc$abbreviation_entry, 2],
    ['ABBREVIATION                   ',clc$nominal_entry, 2],
    ['ACS                            ',clc$abbreviation_entry, 3],
    ['AUTOMATIC_CLASS_SELECTION      ',clc$nominal_entry, 3],
    ['CAI                            ',clc$abbreviation_entry, 5],
    ['CLASS_NAME                     ',clc$nominal_entry, 1],
    ['CLASS_NAMES                    ',clc$alias_entry, 1],
    ['CN                             ',clc$abbreviation_entry, 1],
    ['CPU_TIME_LIMIT                 ',clc$nominal_entry, 4],
    ['CTL                            ',clc$abbreviation_entry, 4],
    ['CYCLIC_AGING_INTERVAL          ',clc$nominal_entry, 5],
    ['DEFER_ON_SUBMIT                ',clc$nominal_entry, 6],
    ['DETACHED_JOB_WAIT_TIME         ',clc$nominal_entry, 7],
    ['DJWT                           ',clc$abbreviation_entry, 7],
    ['DOS                            ',clc$abbreviation_entry, 6],
    ['E                              ',clc$abbreviation_entry, 9],
    ['EC                             ',clc$abbreviation_entry, 10],
    ['ECI                            ',clc$abbreviation_entry, 8],
    ['ENABLE_CLASS_INITIATION        ',clc$nominal_entry, 8],
    ['EPILOG                         ',clc$nominal_entry, 9],
    ['EXCLUDED_CATEGORIES            ',clc$nominal_entry, 10],
    ['IAI                            ',clc$abbreviation_entry, 14],
    ['IIC                            ',clc$abbreviation_entry, 11],
    ['IL                             ',clc$abbreviation_entry, 15],
    ['IMMEDIATE_INITIATION_CANDIDATE ',clc$nominal_entry, 11],
    ['INITIAL_SERVICE_CLASS          ',clc$nominal_entry, 12],
    ['INITIAL_WORKING_SET            ',clc$nominal_entry, 13],
    ['INITIATION_AGE_INTERVAL        ',clc$nominal_entry, 14],
    ['INITIATION_LEVEL               ',clc$nominal_entry, 15],
    ['ISC                            ',clc$abbreviation_entry, 12],
    ['IWS                            ',clc$abbreviation_entry, 13],
    ['JLPB                           ',clc$abbreviation_entry, 16],
    ['JOB_LEVELING_PRIORITY_BIAS     ',clc$nominal_entry, 16],
    ['MAGNETIC_TAPE_LIMIT            ',clc$nominal_entry, 17],
    ['MAXIMUM_WORKING_SET            ',clc$nominal_entry, 18],
    ['MAXWS                          ',clc$abbreviation_entry, 18],
    ['MINIMUM_WORKING_SET            ',clc$nominal_entry, 19],
    ['MINWS                          ',clc$abbreviation_entry, 19],
    ['MJB                            ',clc$abbreviation_entry, 20],
    ['MTL                            ',clc$abbreviation_entry, 17],
    ['MULTIPLE_JOB_BIAS              ',clc$nominal_entry, 20],
    ['P                              ',clc$abbreviation_entry, 22],
    ['PAGE_AGING_INTERVAL            ',clc$nominal_entry, 21],
    ['PAI                            ',clc$abbreviation_entry, 21],
    ['PROLOG                         ',clc$nominal_entry, 22],
    ['RC                             ',clc$abbreviation_entry, 23],
    ['REQUIRED_CATEGORIES            ',clc$nominal_entry, 23],
    ['SELECTION_PRIORITY             ',clc$nominal_entry, 24],
    ['SELECTION_RANK                 ',clc$nominal_entry, 25],
    ['SL                             ',clc$abbreviation_entry, 26],
    ['SP                             ',clc$abbreviation_entry, 24],
    ['SR                             ',clc$abbreviation_entry, 25],
    ['SRU_LIMIT                      ',clc$nominal_entry, 26],
    ['STATUS                         ',clc$nominal_entry, 27]],
    [
{ PARAMETER 1
    [6, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name, clc$specify_positionally],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 85, clc$optional_default_parameter, 0, 18],
{ PARAMETER 2
    [2, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 143, clc$optional_parameter, 0, 0],
{ PARAMETER 3
    [4, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 67, clc$optional_parameter, 0, 0],
{ PARAMETER 4
    [9, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 158, clc$optional_parameter, 0, 0],
{ PARAMETER 5
    [11, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 431, clc$optional_parameter, 0, 0],
{ PARAMETER 6
    [12, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 67, clc$optional_parameter, 0, 0],
{ PARAMETER 7
    [13, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 542, clc$optional_parameter, 0, 0],
{ PARAMETER 8
    [19, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 67, clc$optional_parameter, 0, 0],
{ PARAMETER 9
    [20, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 141, clc$optional_parameter, 0, 0],
{ PARAMETER 10
    [21, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 159, clc$optional_parameter, 0, 0],
{ PARAMETER 11
    [25, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 67, clc$optional_parameter, 0, 0],
{ PARAMETER 12
    [26, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 106, clc$optional_parameter, 0, 0],
{ PARAMETER 13
    [27, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 84, clc$optional_parameter, 0, 0],
{ PARAMETER 14
    [28, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 121, clc$optional_parameter, 0, 0],
{ PARAMETER 15
    [29, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 228, clc$optional_parameter, 0, 0],
{ PARAMETER 16
    [33, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 84, clc$optional_parameter, 0, 0],
{ PARAMETER 17
    [34, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 121, clc$optional_parameter, 0, 0],
{ PARAMETER 18
    [35, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 542, clc$optional_parameter, 0, 0],
{ PARAMETER 19
    [37, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 431, clc$optional_parameter, 0, 0],
{ PARAMETER 20
    [41, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 84, clc$optional_parameter, 0, 0],
{ PARAMETER 21
    [43, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 431, clc$optional_parameter, 0, 0],
{ PARAMETER 22
    [45, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 141, clc$optional_parameter, 0, 0],
{ PARAMETER 23
    [47, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 159, clc$optional_parameter, 0, 0],
{ PARAMETER 24
    [48, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 551, clc$optional_parameter, 0, 0],
{ PARAMETER 25
    [49, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 5, clc$optional_parameter, 0, 0],
{ PARAMETER 26
    [53, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation,
  clc$standard_parameter_checking, 158, clc$optional_parameter, 0, 0],
{ PARAMETER 27
    [54, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_reference, clc$immediate_evaluation,
  clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],
{ PARAMETER 1
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$list_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['ALL                            ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    21, [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
        [[1, 0, clc$name_type], [1, osc$max_name_size]]
      ]
    ,
    '$current_job_class'],
{ PARAMETER 2
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$name_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2],
      ['UNSPECIFIED                    ', clc$nominal_entry,
  clc$normal_usage_entry, 3]]
      ],
    5, [[1, 0, clc$name_type], [1, osc$max_name_size]]
    ],
{ PARAMETER 3
    [[1, 0, clc$union_type], [[clc$boolean_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    3, [[1, 0, clc$boolean_type]]
    ],
{ PARAMETER 4
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['SYSTEM_DEFAULT                 ', clc$nominal_entry,
  clc$normal_usage_entry, 3],
      ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_cpu_time_limit,
  jmc$highest_cpu_time_limit, 10]]
    ],
{ PARAMETER 5
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    367, [[1, 0, clc$record_type], [3],
      ['DEFAULT                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ],
      ['MINIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ]
      ]
    ],
{ PARAMETER 6
    [[1, 0, clc$union_type], [[clc$boolean_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    3, [[1, 0, clc$boolean_type]]
    ],
{ PARAMETER 7
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    478, [[1, 0, clc$record_type], [3],
      ['DEFAULT                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_det_job_wait_time,
  jmc$highest_det_job_wait_time, 10]]
        ],
      ['MINIMUM                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_det_job_wait_time,
  jmc$highest_det_job_wait_time, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_det_job_wait_time,
  jmc$highest_det_job_wait_time, 10]]
        ]
      ]
    ],
{ PARAMETER 8
    [[1, 0, clc$union_type], [[clc$boolean_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    3, [[1, 0, clc$boolean_type]]
    ],
{ PARAMETER 9
    [[1, 0, clc$union_type], [[clc$file_type, clc$keyword_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2],
      ['UNSPECIFIED                    ', clc$nominal_entry,
  clc$normal_usage_entry, 3]]
      ],
    3, [[1, 0, clc$file_type]]
    ],
{ PARAMETER 10
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$list_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['ALL                            ', clc$nominal_entry,
  clc$normal_usage_entry, 3],
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    21, [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
        [[1, 0, clc$name_type], [1, osc$max_name_size]]
      ]
    ],
{ PARAMETER 11
    [[1, 0, clc$union_type], [[clc$boolean_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    3, [[1, 0, clc$boolean_type]]
    ],
{ PARAMETER 12
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$name_type],
    FALSE, 2],
    81, [[1, 0, clc$keyword_type], [2], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    5, [[1, 0, clc$name_type], [1, osc$max_name_size]]
    ],
{ PARAMETER 13
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
    ],
{ PARAMETER 14
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    81, [[1, 0, clc$keyword_type], [2], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    20, [[1, 0, clc$integer_type], [lowest_prio_age_interval,
  highest_prio_age_interval, 10]]
    ],
{ PARAMETER 15
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    164, [[1, 0, clc$record_type], [1],
      ['PREFERRED                      ', clc$required_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_max_initiated_jobs,
  jmc$highest_max_initiated_jobs, 10]]
        ]
      ]
    ],
{ PARAMETER 16
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_priority_bias,
  jmc$highest_priority_bias, 10]]
    ],
{ PARAMETER 17
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    81, [[1, 0, clc$keyword_type], [2], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_magnetic_tape_limit,
  jmc$highest_magnetic_tape_limit, 10]]
    ],
{ PARAMETER 18
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    478, [[1, 0, clc$record_type], [3],
      ['DEFAULT                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ],
      ['MINIMUM                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 121], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        81, [[1, 0, clc$keyword_type], [2], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
          ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ]
      ]
    ],
{ PARAMETER 19
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    367, [[1, 0, clc$record_type], [3],
      ['DEFAULT                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ],
      ['MINIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
  jmc$highest_working_set_size, 10]]
        ]
      ]
    ],
{ PARAMETER 20
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_job_priority,
  jmc$highest_job_priority, 10]]
    ],
{ PARAMETER 21
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    367, [[1, 0, clc$record_type], [3],
      ['DEFAULT                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ],
      ['MINIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
  jmc$highest_aging_interval, 10]]
        ]
      ]
    ],
{ PARAMETER 22
    [[1, 0, clc$union_type], [[clc$file_type, clc$keyword_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2],
      ['UNSPECIFIED                    ', clc$nominal_entry,
  clc$normal_usage_entry, 3]]
      ],
    3, [[1, 0, clc$file_type]]
    ],
{ PARAMETER 23
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$list_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['ALL                            ', clc$nominal_entry,
  clc$normal_usage_entry, 3],
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['NONE                           ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    21, [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
        [[1, 0, clc$name_type], [1, osc$max_name_size]]
      ]
    ],
{ PARAMETER 24
    [[1, 0, clc$union_type], [[clc$keyword_type,
    clc$record_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
      ],
    487, [[1, 0, clc$record_type], [4],
      ['INITIAL                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_job_priority,
  jmc$highest_job_priority, 10]]
        ],
      ['MAXIMUM                        ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_job_priority,
  jmc$highest_job_priority, 10]]
        ],
      ['INCREMENT                      ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_job_priority,
  jmc$highest_job_priority, 10]]
        ],
      ['THRESHOLD                      ', clc$optional_field, 84], [[1, 0,
  clc$union_type], [[clc$integer_type, clc$keyword_type],
        FALSE, 2],
        44, [[1, 0, clc$keyword_type], [1], [
          ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1]]
          ],
        20, [[1, 0, clc$integer_type], [jmc$lowest_job_priority,
  jmc$highest_job_priority, 10]]
        ]
      ]
    ],
{ PARAMETER 25
    [[1, 0, clc$name_type], [1, osc$max_name_size]],
{ PARAMETER 26
    [[1, 0, clc$union_type], [[clc$integer_type,
    clc$keyword_type],
    FALSE, 2],
    118, [[1, 0, clc$keyword_type], [3], [
      ['DEFAULT                        ', clc$nominal_entry,
  clc$normal_usage_entry, 1],
      ['SYSTEM_DEFAULT                 ', clc$nominal_entry,
  clc$normal_usage_entry, 3],
      ['UNLIMITED                      ', clc$nominal_entry,
  clc$normal_usage_entry, 2]]
      ],
    20, [[1, 0, clc$integer_type], [jmc$lowest_sru_limit, jmc$highest_sru_limit
  , 10]]
    ],
{ PARAMETER 27
    [[1, 0, clc$status_type]]];

?? FMT (FORMAT := ON) ??
?? POP ??

    CONST
      p$class_name = 1,
      p$abbreviation = 2,
      p$automatic_class_selection = 3,
      p$cpu_time_limit = 4,
      p$cyclic_aging_interval = 5,
      p$defer_on_submit = 6,
      p$detached_job_wait_time = 7,
      p$enable_class_initiation = 8,
      p$epilog = 9,
      p$excluded_categories = 10,
      p$immediate_initiation_candidat = 11 {IMMEDIATE_INITIATION_CANDIDATE} ,
      p$initial_service_class = 12,
      p$initial_working_set = 13,
      p$initiation_age_interval = 14,
      p$initiation_level = 15,
      p$job_leveling_priority_bias = 16,
      p$magnetic_tape_limit = 17,
      p$maximum_working_set = 18,
      p$minimum_working_set = 19,
      p$multiple_job_bias = 20,
      p$page_aging_interval = 21,
      p$prolog = 22,
      p$required_categories = 23,
      p$selection_priority = 24,
      p$selection_rank = 25,
      p$sru_limit = 26,
      p$status = 27;

    VAR
      pvt: array [1 .. 27] of clt$parameter_value;

    VAR
      new_attributes: jmt$object_attribute;

    status.normal := TRUE;

    jmv$current_profile_level := jmc$profile_job_class;
    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$get_attributes (jmc$profile_job_class, #SEQ (pdt), ^pvt,
          new_attributes, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    IF pvt [p$selection_rank].specified THEN
      jmp$move_object (jmc$profile_job_class, pvt [p$class_name].
            value^, pvt [p$selection_rank].value^.name_value, status);
      IF NOT status.normal THEN
        RETURN;
      IFEND;
    IFEND;

    jmp$change_object (jmc$profile_job_class, pvt [p$class_name].value^,
          new_attributes, jmc$update, status);

  PROCEND jmp$_change_attribute;
?? TITLE := 'jmp$_create_class ', EJECT ??

{ PURPOSE:
{   Processes the CREATE_CLASS command.
{
{ DESIGN:
{   Fetches the default values and adds the specified job class to the
{   profile.
{
{ NOTES:
{   See JMM$ADMINISTER_OBJECTS.

  PROCEDURE jmp$_create_class
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_crec) create_class (
{   class_name, cn: name = $required
{   default_values, dv: (by_name) name = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 5] of clt$pdt_parameter_name,
        parameters: array [1 .. 3] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          qualifier: clt$name_type_qualifier,
        recend,
        type2: record
          header: clt$type_specification_header,
          qualifier: clt$name_type_qualifier,
        recend,
        type3: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 43, 18, 175], clc$command, 5, 3, 1, 0, 0,
            0, 3, 'OSM$ADMJC_CREC'], [['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['DEFAULT_VALUES                 ',
            clc$nominal_entry, 2], ['DV                             ',
            clc$abbreviation_entry, 2], ['STATUS                         ',
            clc$nominal_entry, 3]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name,
            clc$specify_positionally], clc$pass_by_value,
            clc$immediate_evaluation, clc$standard_parameter_checking, 5,
            clc$required_parameter, 0, 0],

{ PARAMETER 2

      [3, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 5, clc$optional_parameter, 0, 0],

{ PARAMETER 3

      [5, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$name_type], [1, osc$max_name_size]],

{ PARAMETER 2

      [[1, 0, clc$name_type], [1, osc$max_name_size]],

{ PARAMETER 3

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$class_name = 1,
      p$default_values = 2,
      p$status = 3;

    VAR
      pvt: array [1 .. 3] of clt$parameter_value;

    VAR
      the_attributes: jmt$object_attribute,
      the_object: jmt$profile_object_reference;

    status.normal := TRUE;

    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$set_default_attributes (jmc$profile_job_class, pvt [p$default_values],
          the_attributes, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$add_object (jmc$profile_job_class, pvt [p$class_name].value^.
          name_value, the_attributes, the_object, status);
    IF status.normal THEN
      jmp$move_object (jmc$profile_job_class, pvt [p$class_name].value^,
            jmc$system_class_name, status);
    IFEND;

  PROCEND jmp$_create_class;
?? TITLE := 'jmp$_delete_class ', EJECT ??

{ PURPOSE:
{   Processes the DELETE_CLASS command.
{
{ DESIGN:
{   Determine the job classes to delete and delete them.
{
{ NOTES:
{   See JMM$ADMINISTER_OBJECTS.

  PROCEDURE jmp$_delete_class
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_delc) delete_class (
{   class_name, class_names, cn: list of name = $required
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 4] of clt$pdt_parameter_name,
        parameters: array [1 .. 2] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          qualifier: clt$list_type_qualifier,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
        type2: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 43, 47, 883], clc$command, 4, 2, 1, 0, 0,
            0, 2, 'OSM$ADMJC_DELC'], [['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CLASS_NAMES                    ',
            clc$alias_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['STATUS                         ',
            clc$nominal_entry, 2]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name,
            clc$specify_positionally], clc$pass_by_value,
            clc$immediate_evaluation, clc$standard_parameter_checking, 21,
            clc$required_parameter, 0, 0],

{ PARAMETER 2

      [4, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]],

{ PARAMETER 2

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$class_name = 1,
      p$status = 2;

    VAR
      pvt: array [1 .. 2] of clt$parameter_value;

    status.normal := TRUE;

    jmv$current_profile_level := jmc$profile_job_class;
    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$delete_object (jmc$profile_job_class, pvt [p$class_name].value^,
          status);

  PROCEND jmp$_delete_class;
?? TITLE := 'jmp$_delete_job_category_entry ', EJECT ??

{ PURPOSE:
{   Processes the DELETE_JOB_CATEGORY_ENTRY command.
{
{ DESIGN:
{   Obtains the job categories to delete, determines the job classes to change,
{   and applies the change to each job class.
{
{ NOTES:
{  See JMM$ADMINISTER_OBJECTS,
{      JMM$ADMINISTER_ATTRIBUTES,
{      JMM$ADMINISTER_DEFINITIONS.

  PROCEDURE jmp$_delete_job_category_entry
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_deljce) delete_job_category_entry (
{   class_name, class_names, cn: any of
{       key all keyend
{       list of name
{     anyend = $current_job_class
{   excluded_categories, ec: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   required_categories, rc: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 8] of clt$pdt_parameter_name,
        parameters: array [1 .. 4] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
          default_value: string (18),
        recend,
        type2: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
        recend,
        type3: record
          header: clt$type_specification_header,
          qualifier: clt$union_type_qualifier,
          type_size_1: clt$type_specification_size,
          element_type_spec_1: record
            header: clt$type_specification_header,
            qualifier: clt$keyword_type_qualifier,
            keyword_specs: array [1 .. 1] of clt$keyword_specification,
          recend,
          type_size_2: clt$type_specification_size,
          element_type_spec_2: record
            header: clt$type_specification_header,
            qualifier: clt$list_type_qualifier,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
        recend,
        type4: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 44, 17, 995], clc$command, 8, 4, 0, 0, 0,
            0, 4, 'OSM$ADMJC_DELJCE'], [['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CLASS_NAMES                    ',
            clc$alias_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['EC                             ',
            clc$abbreviation_entry, 2], ['EXCLUDED_CATEGORIES            ',
            clc$nominal_entry, 2], ['RC                             ',
            clc$abbreviation_entry, 3], ['REQUIRED_CATEGORIES            ',
            clc$nominal_entry, 3], ['STATUS                         ',
            clc$nominal_entry, 4]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name,
            clc$specify_positionally], clc$pass_by_value,
            clc$immediate_evaluation, clc$standard_parameter_checking, 85,
            clc$optional_default_parameter, 0, 18],

{ PARAMETER 2

      [5, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 85, clc$optional_parameter, 0, 0],

{ PARAMETER 3

      [7, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 85, clc$optional_parameter, 0, 0],

{ PARAMETER 4

      [8, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]],
            '$current_job_class'],

{ PARAMETER 2

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 3

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['ALL                            ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 4

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$class_name = 1,
      p$excluded_categories = 2,
      p$required_categories = 3,
      p$status = 4;

    VAR
      pvt: array [1 .. 4] of clt$parameter_value;

    VAR
      attributes: jmt$object_attribute;

    status.normal := TRUE;

    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$get_attributes (jmc$profile_job_class, #SEQ (pdt), ^pvt, attributes,
          status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$change_object (jmc$profile_job_class, pvt [p$class_name].value^,
          attributes, jmc$delete_list_items, status);

  PROCEND jmp$_delete_job_category_entry;
?? TITLE := 'jmp$_quit', EJECT ??

{ PURPOSE:
{   Exits the subutility.
{
{ DESIGN:
{   Terminates the subutility.

  PROCEDURE jmp$_quit
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$admjc_qui) quit, qui (
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 1] of clt$pdt_parameter_name,
        parameters: array [1 .. 1] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 44, 46, 770], clc$command, 1, 1, 0, 0, 0,
            0, 1, 'OSM$ADMJC_QUI'], [['STATUS                         ',
            clc$nominal_entry, 1]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$status = 1;

    VAR
      pvt: array [1 .. 1] of clt$parameter_value;

    status.normal := TRUE;

    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    clp$end_include (utility_name, status);

  PROCEND jmp$_quit;
?? TITLE := '[XDCL, #GATE] jmp$_administer_job_class', EJECT ??

{ PURPOSE:
{   Starts the ADMINISTER_JOB_CLASS subutility.
{
{ DESIGN:
{   Pass the command table to command_language.

  PROCEDURE [XDCL, #GATE] jmp$_administer_job_class
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$adms_admjc) administer_job_class (
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 1] of clt$pdt_parameter_name,
        parameters: array [1 .. 1] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 45, 33, 790], clc$command, 1, 1, 0, 0, 0,
            0, 1, 'OSM$ADMS_ADMJC'], [['STATUS                         ',
            clc$nominal_entry, 1]], [

{ PARAMETER 1

      [1, clc$normal_usage_entry, clc$non_secure_parameter,
            $clt$parameter_spec_methods [clc$specify_by_name],
            clc$pass_by_reference, clc$immediate_evaluation,
            clc$standard_parameter_checking, 3, clc$optional_parameter, 0, 0]],

{ PARAMETER 1

      [[1, 0, clc$status_type]]];

?? POP ??

    CONST
      p$status = 1;

    VAR
      pvt: array [1 .. 1] of clt$parameter_value;

    status.normal := TRUE;

    clp$evaluate_parameters (parameter_list, #SEQ (pdt), NIL, ^pvt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    utility_attributes [1].command_table := command_table;
    clp$begin_utility (utility_name, utility_attributes, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmv$current_profile_level := jmc$profile_job_class;

    clp$include_file (command_file, '', utility_name, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    clp$end_utility (utility_name, status);

  PROCEND jmp$_administer_job_class;
MODEND jmm$administer_job_class;
