?? NEWTITLE := 'NOS/VE Job Scheduling : manage_active_scheduling' ??
MODULE jmm$manage_active_scheduling;
?? RIGHT := 110 ??

{ PURPOSE:
{   This module contains the routines forming the MANAGE_ACTIVE_SCHEDULING
{   utility.  This utility allows the site scheduling administrator to
{   make various changes to the behaviour of the scheduling.  In general
{   they are allowed to change anything that does not change the structure
{   of scheduling (add or delete classes, change membership of jobs to
{   classes).  Structural changes can only be done through the activate
{   profile command by activating a previously created profile built by
{   the ADMINISTER_SCHEDULING utility.
{
{ DESIGN:
{   Provides basically a framework for the utility and its subcommands.
{   The PDTs and command tables are defined here.  When the utility
{   is called, it sets a utility flag and recovers the active profile.
{   All changes made in the utility are kept local until the utility is
{   exited when the administrator decides via a parameter on the quit
{   command if the changes should be made permanent.  If so, the
{   system tables are updated and the file rewritten.
{
{ NOTES:
{   See JMM$LOAD_SYSTEM_PROFILE, JMM$ADMINISTER_OBJECTS, JMM$ADMINISTER_DISPLAY

?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc jmc$job_management_id
*copyc jme$activate_profile_errors
*copyc jmt$application_attributes
*copyc jmt$job_class_attributes
*copyc jmt$job_scheduler_table
*copyc jmt$output_class_attributes
*copyc jmt$service_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$activate_system_profile
*copyc jmp$build_category_object
*copyc jmp$build_default_profile
*copyc jmp$build_profile_from_system
*copyc jmp$change_object
*copyc jmp$clear_utility_active
*copyc jmp$display_profile_changes
*copyc jmp$get_attributes
*copyc jmp$get_object_list
*copyc jmp$recover_profile
*copyc jmp$set_profile
*copyc jmp$update_system_profile
*copyc jmp$update_object_statistics
*copyc jmp$write_profile
*copyc osp$generate_message
*copyc osp$get_status_severity
*copyc osp$set_status_abnormal
*copyc pmp$disestablish_end_handler
*copyc pmp$get_mainframe_id
*copyc pmp$establish_end_handler

*copyc jmv$current_profile_level
*copyc jmv$modify_display_attributes
*copyc jmv$new_profile
*copyc jmv$object_definition
*copyc jmv$the_profile
*copyc jmv$utility_functions
?? OLDTITLE ??
?? NEWTITLE := 'Global Declarations Declared by This Module', EJECT ??

  CONST
    milliseconds_per_second = 1000,
    microseconds_per_millisecond = 1000,
    microseconds_per_second = milliseconds_per_second *
          microseconds_per_millisecond;

  CONST
    lowest_idle_disp_q_time = jmc$lowest_idle_disp_q_time DIV
          microseconds_per_second,
    highest_idle_disp_q_time = jmc$highest_idle_disp_q_time DIV
          microseconds_per_second,
    lowest_service_limit = jmc$lowest_service_limit DIV
          microseconds_per_millisecond,
    highest_service_limit = jmc$highest_service_limit DIV
          microseconds_per_millisecond,
    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
    result_file: amt$local_file_name := 'SCHEDULING_PROFILE',
    command_file: amt$local_file_name := clc$current_command_input,
    utility_name: string (31) := 'MANAGE_ACTIVE_SCHEDULING       ',
    utility_attributes: array [1 .. 3] of clt$utility_attribute :=
          [[clc$utility_command_table, * ], [clc$utility_function_proc_table, *
          ], [clc$utility_prompt, [3, 'MAS']]];

{ 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 (activate_profile, actp) jmp$_activate_profile
{ command (write_profile, wrip) jmp$_write_profile
{ command (change_list_option, change_list_options, chalo)   jmp$_change_list_option cm=xref
{ command (display_job_category, display_job_categories, disjc, disjca)   jmp$_display_job_category cm=xref
{ command (display_application, display_applications, disa)   jmp$_display_application cm=xref
{ command (display_controls, disc) jmp$_display_controls cm=xref
{ command (display_job_class, display_job_classes, disjcl)   jmp$_display_job_class cm=xref
{ command (display_service_class, display_service_classes, dissc)   jmp$_display_service_class cm=xref
{ command (display_output_class, display_output_classes, disoc)   jmp$_display_output_class cm=xref a=hidden
{ command (display_profile_summary, disps) jmp$_display_profile_summary   cm=xref
{ command (change_controls, chac) jmp$_change_controls
{ command (change_application, chaa) jmp$_change_application
{ command (change_job_class, chajc, chajcl) jmp$_change_job_class
{ command (change_service_class, chasc) jmp$_change_service_class
{ command (change_output_class, chaoc) jmp$_change_output_class a=hidden
{ command (read_system_tables, reast) jmp$_read_system_tables a=hidden
{ 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 .. 48] of clt$command_table_entry := [
  {} ['ACTIVATE_PROFILE               ', clc$nominal_entry, clc$normal_usage_entry, 3,
        clc$automatically_log, clc$linked_call, ^jmp$_activate_profile],
  {} ['ACTP                           ', clc$abbreviation_entry, clc$normal_usage_entry, 3,
        clc$automatically_log, clc$linked_call, ^jmp$_activate_profile],
  {} ['ADDJCE                         ', clc$abbreviation_entry, clc$normal_usage_entry, 1,
        clc$automatically_log, clc$linked_call, ^jmp$_add_job_category_entry],
  {} ['ADD_JOB_CATEGORY_ENTRIES       ', clc$alias_entry, clc$normal_usage_entry, 1,
        clc$automatically_log, clc$linked_call, ^jmp$_add_job_category_entry],
  {} ['ADD_JOB_CATEGORY_ENTRY         ', clc$nominal_entry, clc$normal_usage_entry, 1,
        clc$automatically_log, clc$linked_call, ^jmp$_add_job_category_entry],
  {} ['CHAA                           ', clc$abbreviation_entry, clc$normal_usage_entry, 14,
        clc$automatically_log, clc$linked_call, ^jmp$_change_application],
  {} ['CHAC                           ', clc$abbreviation_entry, clc$normal_usage_entry, 13,
        clc$automatically_log, clc$linked_call, ^jmp$_change_controls],
  {} ['CHAJC                          ', clc$alias_entry, clc$normal_usage_entry, 15,
        clc$automatically_log, clc$linked_call, ^jmp$_change_job_class],
  {} ['CHAJCL                         ', clc$abbreviation_entry, clc$normal_usage_entry, 15,
        clc$automatically_log, clc$linked_call, ^jmp$_change_job_class],
  {} ['CHALO                          ', clc$abbreviation_entry, clc$normal_usage_entry, 5,
        clc$automatically_log, clc$linked_call, ^jmp$_change_list_option],
  {} ['CHANGE_APPLICATION             ', clc$nominal_entry, clc$normal_usage_entry, 14,
        clc$automatically_log, clc$linked_call, ^jmp$_change_application],
  {} ['CHANGE_CONTROLS                ', clc$nominal_entry, clc$normal_usage_entry, 13,
        clc$automatically_log, clc$linked_call, ^jmp$_change_controls],
  {} ['CHANGE_JOB_CLASS               ', clc$nominal_entry, clc$normal_usage_entry, 15,
        clc$automatically_log, clc$linked_call, ^jmp$_change_job_class],
  {} ['CHANGE_LIST_OPTION             ', clc$nominal_entry, clc$normal_usage_entry, 5,
        clc$automatically_log, clc$linked_call, ^jmp$_change_list_option],
  {} ['CHANGE_LIST_OPTIONS            ', clc$alias_entry, clc$normal_usage_entry, 5,
        clc$automatically_log, clc$linked_call, ^jmp$_change_list_option],
  {} ['CHANGE_OUTPUT_CLASS            ', clc$nominal_entry, clc$hidden_entry, 17,
        clc$automatically_log, clc$linked_call, ^jmp$_change_output_class],
  {} ['CHANGE_SERVICE_CLASS           ', clc$nominal_entry, clc$normal_usage_entry, 16,
        clc$automatically_log, clc$linked_call, ^jmp$_change_service_class],
  {} ['CHAOC                          ', clc$abbreviation_entry, clc$hidden_entry, 17,
        clc$automatically_log, clc$linked_call, ^jmp$_change_output_class],
  {} ['CHASC                          ', clc$abbreviation_entry, clc$normal_usage_entry, 16,
        clc$automatically_log, clc$linked_call, ^jmp$_change_service_class],
  {} ['DELETE_JOB_CATEGORY_ENTRIES    ', clc$alias_entry, clc$normal_usage_entry, 2,
        clc$automatically_log, clc$linked_call, ^jmp$_delete_job_category_entry],
  {} ['DELETE_JOB_CATEGORY_ENTRY      ', clc$nominal_entry, clc$normal_usage_entry, 2,
        clc$automatically_log, clc$linked_call, ^jmp$_delete_job_category_entry],
  {} ['DELJCE                         ', clc$abbreviation_entry, clc$normal_usage_entry, 2,
        clc$automatically_log, clc$linked_call, ^jmp$_delete_job_category_entry],
  {} ['DISA                           ', clc$abbreviation_entry, clc$normal_usage_entry, 7,
        clc$automatically_log, clc$linked_call, ^jmp$_display_application],
  {} ['DISC                           ', clc$abbreviation_entry, clc$normal_usage_entry, 8,
        clc$automatically_log, clc$linked_call, ^jmp$_display_controls],
  {} ['DISJC                          ', clc$alias_entry, clc$normal_usage_entry, 6,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_category],
  {} ['DISJCA                         ', clc$abbreviation_entry, clc$normal_usage_entry, 6,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_category],
  {} ['DISJCL                         ', clc$abbreviation_entry, clc$normal_usage_entry, 9,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_class],
  {} ['DISOC                          ', clc$abbreviation_entry, clc$hidden_entry, 11,
        clc$automatically_log, clc$linked_call, ^jmp$_display_output_class],
  {} ['DISPLAY_APPLICATION            ', clc$nominal_entry, clc$normal_usage_entry, 7,
        clc$automatically_log, clc$linked_call, ^jmp$_display_application],
  {} ['DISPLAY_APPLICATIONS           ', clc$alias_entry, clc$normal_usage_entry, 7,
        clc$automatically_log, clc$linked_call, ^jmp$_display_application],
  {} ['DISPLAY_CONTROLS               ', clc$nominal_entry, clc$normal_usage_entry, 8,
        clc$automatically_log, clc$linked_call, ^jmp$_display_controls],
  {} ['DISPLAY_JOB_CATEGORIES         ', clc$alias_entry, clc$normal_usage_entry, 6,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_category],
  {} ['DISPLAY_JOB_CATEGORY           ', clc$nominal_entry, clc$normal_usage_entry, 6,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_category],
  {} ['DISPLAY_JOB_CLASS              ', clc$nominal_entry, clc$normal_usage_entry, 9,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_class],
  {} ['DISPLAY_JOB_CLASSES            ', clc$alias_entry, clc$normal_usage_entry, 9,
        clc$automatically_log, clc$linked_call, ^jmp$_display_job_class],
  {} ['DISPLAY_OUTPUT_CLASS           ', clc$nominal_entry, clc$hidden_entry, 11,
        clc$automatically_log, clc$linked_call, ^jmp$_display_output_class],
  {} ['DISPLAY_OUTPUT_CLASSES         ', clc$alias_entry, clc$hidden_entry, 11, clc$automatically_log,
         clc$linked_call, ^jmp$_display_output_class],
  {} ['DISPLAY_PROFILE_SUMMARY        ', clc$nominal_entry, clc$normal_usage_entry, 12,
        clc$automatically_log, clc$linked_call, ^jmp$_display_profile_summary],
  {} ['DISPLAY_SERVICE_CLASS          ', clc$nominal_entry, clc$normal_usage_entry, 10,
        clc$automatically_log, clc$linked_call, ^jmp$_display_service_class],
  {} ['DISPLAY_SERVICE_CLASSES        ', clc$alias_entry, clc$normal_usage_entry, 10,
        clc$automatically_log, clc$linked_call, ^jmp$_display_service_class],
  {} ['DISPS                          ', clc$abbreviation_entry, clc$normal_usage_entry, 12,
        clc$automatically_log, clc$linked_call, ^jmp$_display_profile_summary],
  {} ['DISSC                          ', clc$abbreviation_entry, clc$normal_usage_entry, 10,
        clc$automatically_log, clc$linked_call, ^jmp$_display_service_class],
  {} ['QUI                            ', clc$abbreviation_entry, clc$normal_usage_entry, 19,
        clc$automatically_log, clc$linked_call, ^jmp$_quit],
  {} ['QUIT                           ', clc$nominal_entry, clc$normal_usage_entry, 19,
        clc$automatically_log, clc$linked_call, ^jmp$_quit],
  {} ['READ_SYSTEM_TABLES             ', clc$nominal_entry, clc$hidden_entry, 18,
        clc$automatically_log, clc$linked_call, ^jmp$_read_system_tables],
  {} ['REAST                          ', clc$abbreviation_entry, clc$hidden_entry, 18,
        clc$automatically_log, clc$linked_call, ^jmp$_read_system_tables],
  {} ['WRIP                           ', clc$abbreviation_entry, clc$normal_usage_entry, 4,
        clc$automatically_log, clc$linked_call, ^jmp$_write_profile],
  {} ['WRITE_PROFILE                  ', clc$nominal_entry, clc$normal_usage_entry, 4,
        clc$automatically_log, clc$linked_call, ^jmp$_write_profile]];

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

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

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

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

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

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

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

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

?? POP ??


  VAR
    profile_access_id: ost$binary_unique_name;

  VAR
    prevent_profile_file_update: boolean := FALSE;

  VAR
    current_controls: clt$data_value;

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

{ PURPOSE:
{   Processes the ADD_JOB_CATEGORY_ENTRY command.
{
{ DESIGN:
{   Determines the attributes to update, fetches the categories to add
{   and makes a request to add them to the attributes.

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

{ PROCEDURE (osm$manas_addjce) add_job_category_entry (
{   initiation_excluded_categories, iec: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   initiation_required_categories, irc: (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 .. 5] of clt$pdt_parameter_name,
        parameters: array [1 .. 3] 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,
        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,
        recend,
      recend := [[1, [88, 9, 26, 10, 55, 42, 912], clc$command, 5, 3, 0, 0, 0,
            0, 3, 'OSM$MANAS_ADDJCE'], [['IEC                            ',
            clc$abbreviation_entry, 1], ['INITIATION_EXCLUDED_CATEGORIES ',
            clc$nominal_entry, 1], ['INITIATION_REQUIRED_CATEGORIES ',
            clc$nominal_entry, 2], ['IRC                            ',
            clc$abbreviation_entry, 2], ['STATUS                         ',
            clc$nominal_entry, 3]], [

{ PARAMETER 1

      [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, 85, clc$optional_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, 85, 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$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 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$status_type]]];

?? POP ??

    CONST
      p$initiation_excluded_categorie = 1 {INITIATION_EXCLUDED_CATEGORIES} ,
      p$initiation_required_categorie = 2 {INITIATION_REQUIRED_CATEGORIES} ,
      p$status = 3;

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

    VAR
      values: 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_controls, #SEQ (pdt),
          ^pvt, values, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$change_object (jmc$profile_controls, current_controls, values,
          jmc$add_list_items, status);

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

{ PURPOSE:
{   This interface does the processing for the ACTIVATE_PROFILE command.
{
{ NOTES:
{   See JMM$UPDATE_SYSTEM_TABLES

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

{ PROCEDURE (osm$manas_actp) activate_profile (
{   profile, p: file = $user.scheduling_profile
{   enable_job_reclassification, ejr: boolean = false
{   output, o: file = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 7] of clt$pdt_parameter_name,
        parameters: array [1 .. 4] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          default_value: string (24),
        recend,
        type2: record
          header: clt$type_specification_header,
          default_value: string (5),
        recend,
        type3: record
          header: clt$type_specification_header,
        recend,
        type4: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 56, 9, 699], clc$command, 7, 4, 0, 0, 0,
            0, 4, 'OSM$MANAS_ACTP'], [['EJR                            ',
            clc$abbreviation_entry, 2], ['ENABLE_JOB_RECLASSIFICATION    ',
            clc$nominal_entry, 2], ['O                              ',
            clc$abbreviation_entry, 3], ['OUTPUT                         ',
            clc$nominal_entry, 3], ['P                              ',
            clc$abbreviation_entry, 1], ['PROFILE                        ',
            clc$nominal_entry, 1], ['STATUS                         ',
            clc$nominal_entry, 4]], [

{ 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, 3,
            clc$optional_default_parameter, 0, 24],

{ PARAMETER 2

      [2, 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, 3,
            clc$optional_default_parameter, 0, 5],

{ PARAMETER 3

      [4, 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, 3,
            clc$optional_parameter, 0, 0],

{ PARAMETER 4

      [7, 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$file_type], '$user.scheduling_profile'],

{ PARAMETER 2

      [[1, 0, clc$boolean_type], 'false'],

{ PARAMETER 3

      [[1, 0, clc$file_type]],

{ PARAMETER 4

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

?? POP ??

    CONST
      p$profile = 1,
      p$enable_job_reclassification = 2,
      p$output = 3,
      p$status = 4;

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

    VAR
      profile_changes: jmt$profile_changes;

    status.normal := TRUE;

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

    jmp$activate_system_profile (profile_access_id,
          pvt [p$profile].value^.file_value^,
          pvt [p$enable_job_reclassification].value^.boolean_value.value,
          profile_changes, status);
    IF status.normal THEN
      jmp$display_profile_changes (profile_changes, pvt [p$output], status);
      prevent_profile_file_update := FALSE;
    IFEND;

  PROCEND jmp$_activate_profile;
?? TITLE := 'jmp$_change_application', EJECT ??

{ PURPOSE:
{   Processes the CHANGE_APPLICATION command.
{
{ DESIGN:
{   Determines the applications to update, fetches the changed attributes
{   and makes a request to change them.

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

{ PROCEDURE (osm$manas_chaa) change_application (
{   application_name, application_names, an: any of
{       key all keyend
{       list of name
{     anyend = $current_application
{   cyclic_aging_interval, cai: (by_name) any of
{       key default, unspecified keyend
{       integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{     anyend = $optional
{   enable_application_scheduling, eas: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   maximum_working_set, maxws: (by_name) any of
{       key default, unlimited, unspecified keyend
{       integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{     anyend = $optional
{   minimum_working_set, minws: (by_name) any of
{       key default, unspecified keyend
{       integer jmc$lowest_working_set_size..jmc$highest_working_set_size
{     anyend = $optional
{   page_aging_interval, pai: (by_name) any of
{       key default, unspecified keyend
{       integer jmc$lowest_aging_interval..jmc$highest_aging_interval
{     anyend = $optional
{   service_class, sc: (by_name) any of
{       key default, unspecified keyend
{       name
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 16] of clt$pdt_parameter_name,
        parameters: array [1 .. 8] 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 (20),
        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 .. 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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        type8: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 57, 7, 661], clc$command, 16, 8, 0, 0, 0,
            0, 8, 'OSM$MANAS_CHAA'], [['AN                             ',
            clc$abbreviation_entry, 1], ['APPLICATION_NAME               ',
            clc$nominal_entry, 1], ['APPLICATION_NAMES              ',
            clc$alias_entry, 1], ['CAI                            ',
            clc$abbreviation_entry, 2], ['CYCLIC_AGING_INTERVAL          ',
            clc$nominal_entry, 2], ['EAS                            ',
            clc$abbreviation_entry, 3], ['ENABLE_APPLICATION_SCHEDULING  ',
            clc$nominal_entry, 3], ['MAXIMUM_WORKING_SET            ',
            clc$nominal_entry, 4], ['MAXWS                          ',
            clc$abbreviation_entry, 4], ['MINIMUM_WORKING_SET            ',
            clc$nominal_entry, 5], ['MINWS                          ',
            clc$abbreviation_entry, 5], ['PAGE_AGING_INTERVAL            ',
            clc$nominal_entry, 6], ['PAI                            ',
            clc$abbreviation_entry, 6], ['SC                             ',
            clc$abbreviation_entry, 7], ['SERVICE_CLASS                  ',
            clc$nominal_entry, 7], ['STATUS                         ',
            clc$nominal_entry, 8]], [

{ PARAMETER 1

      [2, 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, 20],

{ 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, 121, 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, 67, 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_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 158, clc$optional_parameter, 0,
            0],

{ PARAMETER 5

      [10, 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 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, 121, clc$optional_parameter, 0,
            0],

{ PARAMETER 7

      [15, 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 8

      [16, 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_application'],

{ PARAMETER 2

      [[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], ['UNSPECIFIED                    ',
            clc$nominal_entry, clc$normal_usage_entry, 2]]], 20,
            [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
            jmc$highest_aging_interval, 10]]],

{ 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], ['UNLIMITED                      ',
            clc$nominal_entry, clc$normal_usage_entry, 2],
            ['UNSPECIFIED                    ', clc$nominal_entry,
            clc$normal_usage_entry, 3]]], 20,
            [[1, 0, clc$integer_type], [jmc$lowest_working_set_size,
            jmc$highest_working_set_size, 10]]],

{ PARAMETER 5

      [[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], ['UNSPECIFIED                    ',
            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 6

      [[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], ['UNSPECIFIED                    ',
            clc$nominal_entry, clc$normal_usage_entry, 2]]], 20,
            [[1, 0, clc$integer_type], [jmc$lowest_aging_interval,
            jmc$highest_aging_interval, 10]]],

{ PARAMETER 7

      [[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], ['UNSPECIFIED                    ',
            clc$nominal_entry, clc$normal_usage_entry, 2]]], 5,
            [[1, 0, clc$name_type], [1, osc$max_name_size]]],

{ PARAMETER 8

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

?? POP ??

    CONST
      p$application_name = 1,
      p$cyclic_aging_interval = 2,
      p$enable_application_scheduling = 3,
      p$maximum_working_set = 4,
      p$minimum_working_set = 5,
      p$page_aging_interval = 6,
      p$service_class = 7,
      p$status = 8;

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

    VAR
      values: jmt$object_attribute;

    status.normal := TRUE;

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

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

    jmp$change_object (jmc$profile_application, pvt [p$application_name].
          value^, values, jmc$update, status);

  PROCEND jmp$_change_application;
?? TITLE := 'jmp$_change_controls', EJECT ??

{ PURPOSE:
{   Processes the CHANGE_CONTROLS command.
{
{ DESIGN:
{   Determines the controls to update, fetches the changed attributes
{   and makes a request to change them.

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

{ PROCEDURE (osm$manas_chac) change_controls (
{   cpu_dispatching_allocation, cda: (by_name) any of
{       key default keyend
{       list 1..8 of record
{         dispatching_priority: range of any of
{           integer 1..8
{           key p1 p2 p3 p4 p5 p6 p7 p8 keyend
{         anyend
{         minimum_percent: any of
{           key default keyend
{           integer 0..100
{         anyend = $optional
{         maximum_percent: any of
{           key default keyend
{           integer 0..100
{         anyend = $optional
{         enforce_maximum: any of
{           key default keyend
{           boolean
{         anyend = $optional
{       recend
{     anyend = $optional
{   cpu_dispatching_interval, cdi: (by_name) any of
{       key default keyend
{       integer 1..600
{     anyend = $optional
{   cpu_quantum_time, cqt: (by_name) any of
{       key default keyend
{       integer 1000..100000
{     anyend = $optional
{   dual_state_priority_control, dspc: (by_name) any of
{       key default keyend
{       list 1..10 of record
{         dispatching_priority: range of any of
{           integer 1..10
{           key p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 keyend
{         anyend
{         dual_state_priority: any of
{           key default keyend
{           integer 1..10
{         anyend = $optional
{         subpriority: any of
{           key default keyend
{           integer 1..15
{         anyend = $optional
{       recend
{     anyend = $optional
{   enable_job_leveling, ejl: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   idle_dispatching_queue_time, idqt: (by_name) any of
{       key default, unlimited keyend
{       integer lowest_idle_disp_q_time..highest_idle_disp_q_time
{     anyend = $optional
{   initiation_excluded_categories, iec: (by_name) any of
{       key default, all, none keyend
{       list of name
{     anyend = $optional
{   initiation_required_categories, irc: (by_name) any of
{       key default, all, none keyend
{       list of name
{     anyend = $optional
{   job_leveling_interval, jli: (by_name) any of
{       key default keyend
{       integer jmc$lowest_service_interval..jmc$highest_service_interval
{     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
{   scheduling_memory_levels, sml: (by_name) any of
{       key default keyend
{       record
{         target: any of
{           key default keyend
{         integer jmc$lowest_sched_memory_level..jmc$highest_sched_memory_level
{         anyend = $optional
{         thrashing: any of
{           key default keyend
{         integer jmc$lowest_sched_memory_level..jmc$highest_sched_memory_level
{         anyend = $optional
{       recend
{     anyend = $optional
{   service_calculation_interval, sci: (by_name) any of
{       key default keyend
{       integer jmc$lowest_service_interval..jmc$highest_service_interval
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 25] of clt$pdt_parameter_name,
        parameters: array [1 .. 13] 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$record_type_qualifier,
              field_spec_1: clt$field_specification,
              element_type_spec_1: record
                header: clt$type_specification_header,
                qualifier: clt$range_type_qualifier,
                element_type_spec: 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$integer_type_qualifier,
                  recend,
                  type_size_2: clt$type_specification_size,
                  element_type_spec_2: record
                    header: clt$type_specification_header,
                    qualifier: clt$keyword_type_qualifier,
                    keyword_specs: array [1 .. 8] of clt$keyword_specification,
                  recend,
                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,
                recend,
              recend,
            recend,
          recend,
        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$integer_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,
            qualifier: clt$integer_type_qualifier,
          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 .. 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$record_type_qualifier,
              field_spec_1: clt$field_specification,
              element_type_spec_1: record
                header: clt$type_specification_header,
                qualifier: clt$range_type_qualifier,
                element_type_spec: 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$integer_type_qualifier,
                  recend,
                  type_size_2: clt$type_specification_size,
                  element_type_spec_2: record
                    header: clt$type_specification_header,
                    qualifier: clt$keyword_type_qualifier,
                    keyword_specs: array [1 .. 10] of
                          clt$keyword_specification,
                  recend,
                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,
        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,
          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 .. 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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        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,
            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,
          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 .. 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,
        type13: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 10, 58, 42, 247], clc$command, 25, 13, 0, 0,
            0, 0, 13, 'OSM$MANAS_CHAC'], [['CDA                            ',
            clc$abbreviation_entry, 1], ['CDI                            ',
            clc$abbreviation_entry, 2], ['CPU_DISPATCHING_ALLOCATION     ',
            clc$nominal_entry, 1], ['CPU_DISPATCHING_INTERVAL       ',
            clc$nominal_entry, 2], ['CPU_QUANTUM_TIME               ',
            clc$nominal_entry, 3], ['CQT                            ',
            clc$abbreviation_entry, 3], ['DSPC                           ',
            clc$abbreviation_entry, 4], ['DUAL_STATE_PRIORITY_CONTROL    ',
            clc$nominal_entry, 4], ['EJL                            ',
            clc$abbreviation_entry, 5], ['ENABLE_JOB_LEVELING            ',
            clc$nominal_entry, 5], ['IDLE_DISPATCHING_QUEUE_TIME    ',
            clc$nominal_entry, 6], ['IDQT                           ',
            clc$abbreviation_entry, 6], ['IEC                            ',
            clc$abbreviation_entry, 7], ['INITIATION_EXCLUDED_CATEGORIES ',
            clc$nominal_entry, 7], ['INITIATION_REQUIRED_CATEGORIES ',
            clc$nominal_entry, 8], ['IRC                            ',
            clc$abbreviation_entry, 8], ['JLI                            ',
            clc$abbreviation_entry, 9], ['JLPB                           ',
            clc$abbreviation_entry, 10], ['JOB_LEVELING_INTERVAL          ',
            clc$nominal_entry, 9], ['JOB_LEVELING_PRIORITY_BIAS     ',
            clc$nominal_entry, 10], ['SCHEDULING_MEMORY_LEVELS       ',
            clc$nominal_entry, 11], ['SCI                            ',
            clc$abbreviation_entry, 12], ['SERVICE_CALCULATION_INTERVAL   ',
            clc$nominal_entry, 12], ['SML                            ',
            clc$abbreviation_entry, 11], ['STATUS                         ',
            clc$nominal_entry, 13]], [

{ PARAMETER 1

      [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, 816, clc$optional_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_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 84, 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_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 84, 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_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 787, clc$optional_parameter, 0,
            0],

{ PARAMETER 5

      [10, 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 6

      [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, 121, clc$optional_parameter, 0,
            0],

{ PARAMETER 7

      [14, 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 8

      [15, 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 9

      [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, 84, clc$optional_parameter, 0, 0],

{ PARAMETER 10

      [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, 84, clc$optional_parameter, 0, 0],

{ PARAMETER 11

      [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, 311, clc$optional_parameter, 0,
            0],

{ PARAMETER 12

      [23, 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 13

      [25, 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],
            [['DEFAULT                        ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 752,
            [[1, 0, clc$list_type], [736, 1, 8, FALSE],
            [[1, 0, clc$record_type], [4], ['DISPATCHING_PRIORITY           ',
            clc$required_field, 350], [[1, 0, clc$range_type],
            [343], [[1, 0, clc$union_type], [[clc$integer_type,
            clc$keyword_type], FALSE, 2], 20,
            [[1, 0, clc$integer_type], [1, 8, 10]], 303,
            [[1, 0, clc$keyword_type], [8], [['P1                             '
            , clc$nominal_entry, clc$normal_usage_entry, 1],
            ['P2                             ', clc$nominal_entry,
            clc$normal_usage_entry, 2], ['P3                             ',
            clc$nominal_entry, clc$normal_usage_entry, 3],
            ['P4                             ', clc$nominal_entry,
            clc$normal_usage_entry, 4], ['P5                             ',
            clc$nominal_entry, clc$normal_usage_entry, 5],
            ['P6                             ', clc$nominal_entry,
            clc$normal_usage_entry, 6], ['P7                             ',
            clc$nominal_entry, clc$normal_usage_entry, 7],
            ['P8                             ', clc$nominal_entry,
            clc$normal_usage_entry, 8]]]]], ['MINIMUM_PERCENT                ',
            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], [0, 100, 10]]],
            ['MAXIMUM_PERCENT                ', 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], [0, 100, 10]]],
            ['ENFORCE_MAXIMUM                ', clc$optional_field, 67],
            [[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 2

      [[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], [1, 600, 10]]],

{ PARAMETER 3

      [[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], [1000, 100000, 10]]],

{ PARAMETER 4

      [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type], FALSE, 2],
            44, [[1, 0, clc$keyword_type], [1],
            [['DEFAULT                        ', clc$nominal_entry,
            clc$normal_usage_entry, 1]]], 723,
            [[1, 0, clc$list_type], [707, 1, 10, FALSE],
            [[1, 0, clc$record_type], [3], ['DISPATCHING_PRIORITY           ',
            clc$required_field, 424], [[1, 0, clc$range_type],
            [417], [[1, 0, clc$union_type], [[clc$integer_type,
            clc$keyword_type], FALSE, 2], 20,
            [[1, 0, clc$integer_type], [1, 10, 10]], 377,
            [[1, 0, clc$keyword_type], [10], [[
            'P1                             ', clc$nominal_entry,
            clc$normal_usage_entry, 1], ['P10                            ',
            clc$nominal_entry, clc$normal_usage_entry, 10],
            ['P2                             ', clc$nominal_entry,
            clc$normal_usage_entry, 2], ['P3                             ',
            clc$nominal_entry, clc$normal_usage_entry, 3],
            ['P4                             ', clc$nominal_entry,
            clc$normal_usage_entry, 4], ['P5                             ',
            clc$nominal_entry, clc$normal_usage_entry, 5],
            ['P6                             ', clc$nominal_entry,
            clc$normal_usage_entry, 6], ['P7                             ',
            clc$nominal_entry, clc$normal_usage_entry, 7],
            ['P8                             ', clc$nominal_entry,
            clc$normal_usage_entry, 8], ['P9                             ',
            clc$nominal_entry, clc$normal_usage_entry, 9]]]]],
            ['DUAL_STATE_PRIORITY            ', 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], [1, 10, 10]]],
            ['SUBPRIORITY                    ', 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], [1, 15, 10]]]]]],

{ PARAMETER 5

      [[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 6

      [[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_idle_disp_q_time,
            highest_idle_disp_q_time, 10]]],

{ PARAMETER 7

      [[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, 2], ['DEFAULT                        ',
            clc$nominal_entry, clc$normal_usage_entry, 1],
            ['NONE                           ', clc$nominal_entry,
            clc$normal_usage_entry, 3]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 8

      [[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, 2], ['DEFAULT                        ',
            clc$nominal_entry, clc$normal_usage_entry, 1],
            ['NONE                           ', clc$nominal_entry,
            clc$normal_usage_entry, 3]]], 21,
            [[1, 0, clc$list_type], [5, 1, clc$max_list_size, FALSE],
            [[1, 0, clc$name_type], [1, osc$max_name_size]]]],

{ PARAMETER 9

      [[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_service_interval,
            jmc$highest_service_interval, 10]]],

{ PARAMETER 10

      [[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 11

      [[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]]], 247,
            [[1, 0, clc$record_type], [2], ['TARGET                         ',
            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_sched_memory_level,
            jmc$highest_sched_memory_level, 10]]],
            ['THRASHING                      ', 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_sched_memory_level,
            jmc$highest_sched_memory_level, 10]]]]],

{ PARAMETER 12

      [[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_service_interval,
            jmc$highest_service_interval, 10]]],

{ PARAMETER 13

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

?? POP ??

    CONST
      p$cpu_dispatching_allocation = 1,
      p$cpu_dispatching_interval = 2,
      p$cpu_quantum_time = 3,
      p$dual_state_priority_control = 4,
      p$enable_job_leveling = 5,
      p$idle_dispatching_queue_time = 6,
      p$initiation_excluded_categorie = 7 {INITIATION_EXCLUDED_CATEGORIES} ,
      p$initiation_required_categorie = 8 {INITIATION_REQUIRED_CATEGORIES} ,
      p$job_leveling_interval = 9,
      p$job_leveling_priority_bias = 10,
      p$scheduling_memory_levels = 11,
      p$service_calculation_interval = 12,
      p$status = 13;

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

    VAR
      values: jmt$object_attribute;

    status.normal := TRUE;

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

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

    jmp$change_object (jmc$profile_controls, current_controls, values,
          jmc$update, status);

  PROCEND jmp$_change_controls;
?? TITLE := 'jmp$_change_job_class', EJECT ??

{ PURPOSE:
{   Processes the CHANGE_JOB_CLASS command.
{
{ DESIGN:
{   Determines the job classes to update, fetches the changed attributes
{   and makes a request to change them.

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

{ PROCEDURE (osm$manas_chajcl) change_job_class (
{   class_name, class_names, cn: any of
{       key all keyend
{       list of name
{     anyend = $current_job_class
{   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
{   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
{   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
{   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
{   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
{       recend
{     anyend = $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) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 40] of clt$pdt_parameter_name,
        parameters: array [1 .. 20] 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$integer_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,
            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,
        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 .. 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,
        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,
          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 .. 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,
        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,
          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 .. 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,
        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 .. 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,
        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 .. 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,
        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,
            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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        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$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,
        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 .. 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,
        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 .. 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,
        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 .. 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,
        type20: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 11, 3, 4, 688], clc$command, 40, 20, 0, 0, 0,
            0, 20, 'OSM$MANAS_CHAJCL'], [['CAI                            ',
            clc$abbreviation_entry, 3], ['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CLASS_NAMES                    ',
            clc$alias_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['CPU_TIME_LIMIT                 ',
            clc$nominal_entry, 2], ['CTL                            ',
            clc$abbreviation_entry, 2], ['CYCLIC_AGING_INTERVAL          ',
            clc$nominal_entry, 3], ['DETACHED_JOB_WAIT_TIME         ',
            clc$nominal_entry, 4], ['DJWT                           ',
            clc$abbreviation_entry, 4], ['E                              ',
            clc$abbreviation_entry, 6], ['ECI                            ',
            clc$abbreviation_entry, 5], ['ENABLE_CLASS_INITIATION        ',
            clc$nominal_entry, 5], ['EPILOG                         ',
            clc$nominal_entry, 6], ['IAI                            ',
            clc$abbreviation_entry, 10], ['IIC                            ',
            clc$abbreviation_entry, 7], ['IL                             ',
            clc$abbreviation_entry, 11], ['IMMEDIATE_INITIATION_CANDIDATE ',
            clc$nominal_entry, 7], ['INITIAL_SERVICE_CLASS          ',
            clc$nominal_entry, 8], ['INITIAL_WORKING_SET            ',
            clc$nominal_entry, 9], ['INITIATION_AGE_INTERVAL        ',
            clc$nominal_entry, 10], ['INITIATION_LEVEL               ',
            clc$nominal_entry, 11], ['ISC                            ',
            clc$abbreviation_entry, 8], ['IWS                            ',
            clc$abbreviation_entry, 9], ['JLPB                           ',
            clc$abbreviation_entry, 12], ['JOB_LEVELING_PRIORITY_BIAS     ',
            clc$nominal_entry, 12], ['MAGNETIC_TAPE_LIMIT            ',
            clc$nominal_entry, 13], ['MAXIMUM_WORKING_SET            ',
            clc$nominal_entry, 14], ['MAXWS                          ',
            clc$abbreviation_entry, 14], ['MINIMUM_WORKING_SET            ',
            clc$nominal_entry, 15], ['MINWS                          ',
            clc$abbreviation_entry, 15], ['MTL                            ',
            clc$abbreviation_entry, 13], ['P                              ',
            clc$abbreviation_entry, 17], ['PAGE_AGING_INTERVAL            ',
            clc$nominal_entry, 16], ['PAI                            ',
            clc$abbreviation_entry, 16], ['PROLOG                         ',
            clc$nominal_entry, 17], ['SELECTION_PRIORITY             ',
            clc$nominal_entry, 18], ['SL                             ',
            clc$abbreviation_entry, 19], ['SP                             ',
            clc$abbreviation_entry, 18], ['SRU_LIMIT                      ',
            clc$nominal_entry, 19], ['STATUS                         ',
            clc$nominal_entry, 20]], [

{ PARAMETER 1

      [2, 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, 158, 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, 431, 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_value, clc$immediate_evaluation,
            clc$standard_parameter_checking, 542, clc$optional_parameter, 0,
            0],

{ PARAMETER 5

      [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 6

      [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, 141, clc$optional_parameter, 0,
            0],

{ PARAMETER 7

      [17, 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 8

      [18, 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 9

      [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, 84, clc$optional_parameter, 0, 0],

{ PARAMETER 10

      [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, 121, clc$optional_parameter, 0,
            0],

{ PARAMETER 11

      [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, 228, clc$optional_parameter, 0,
            0],

{ PARAMETER 12

      [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, 84, clc$optional_parameter, 0, 0],

{ PARAMETER 13

      [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, 121, clc$optional_parameter, 0,
            0],

{ PARAMETER 14

      [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, 542, 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, 431, 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, 431, clc$optional_parameter, 0,
            0],

{ PARAMETER 17

      [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, 141, clc$optional_parameter, 0,
            0],

{ PARAMETER 18

      [36, 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 19

      [39, 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 20

      [40, 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$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 3

      [[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 4

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

      [[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 6

      [[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 7

      [[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 8

      [[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 9

      [[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 10

      [[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 11

      [[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 12

      [[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 13

      [[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 14

      [[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 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]]], 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 16

      [[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 17

      [[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 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]]], 367,
            [[1, 0, clc$record_type], [3], ['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]]]]],

{ PARAMETER 19

      [[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 20

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

?? POP ??

    CONST
      p$class_name = 1,
      p$cpu_time_limit = 2,
      p$cyclic_aging_interval = 3,
      p$detached_job_wait_time = 4,
      p$enable_class_initiation = 5,
      p$epilog = 6,
      p$immediate_initiation_candidat = 7 {IMMEDIATE_INITIATION_CANDIDATE} ,
      p$initial_service_class = 8,
      p$initial_working_set = 9,
      p$initiation_age_interval = 10,
      p$initiation_level = 11,
      p$job_leveling_priority_bias = 12,
      p$magnetic_tape_limit = 13,
      p$maximum_working_set = 14,
      p$minimum_working_set = 15,
      p$page_aging_interval = 16,
      p$prolog = 17,
      p$selection_priority = 18,
      p$sru_limit = 19,
      p$status = 20;

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

    VAR
      values: 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, values,
          status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

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

  PROCEND jmp$_change_job_class;
?? TITLE := 'change_output_class', EJECT ??

{ PURPOSE:
{   Processes the_CHANGE_OUTPUT_CLASS command.
{
{ DESIGN:
{   Determines the output classes to update, fetches the changed attributes
{   and makes a request to change them.
{
{ NOTES:
{   Until output classes are supported this command is hidden and has not
{   effect on the actual scheduling tables.

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

{ PROCEDURE (osm$manas_chaoc) change_output_class (
{   class_name, class_names, cn: any of
{       key all keyend
{       list of name
{     anyend = $current_output_class
{   delivery_priority, dp: (by_name) any of
{       key default keyend
{       record
{         minimum: 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
{         output_ate_increment: any of
{           key default keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{       recend
{     anyend = $optional
{   enable_class_scheduling, ecs: (by_name) any of
{       key default keyend
{       boolean
{     anyend = $optional
{   output_age_interval, oai: (by_name) any of
{       key default, unlimited keyend
{       integer jmc$lowest_prio_age_interval..jmc$highest_prio_age_interval
{     anyend = $optional
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 10] of clt$pdt_parameter_name,
        parameters: array [1 .. 5] 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 (21),
        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$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,
        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 .. 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,
        type5: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 11, 4, 42, 436], clc$command, 10, 5, 0, 0, 0,
            0, 5, 'OSM$MANAS_CHAOC'], [['CLASS_NAME                     ',
            clc$nominal_entry, 1], ['CLASS_NAMES                    ',
            clc$alias_entry, 1], ['CN                             ',
            clc$abbreviation_entry, 1], ['DELIVERY_PRIORITY              ',
            clc$nominal_entry, 2], ['DP                             ',
            clc$abbreviation_entry, 2], ['ECS                            ',
            clc$abbreviation_entry, 3], ['ENABLE_CLASS_SCHEDULING        ',
            clc$nominal_entry, 3], ['OAI                            ',
            clc$abbreviation_entry, 4], ['OUTPUT_AGE_INTERVAL            ',
            clc$nominal_entry, 4], ['STATUS                         ',
            clc$nominal_entry, 5]], [

{ 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, 21],

{ PARAMETER 2

      [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, 431, 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, 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, 121, clc$optional_parameter, 0,
            0],

{ PARAMETER 5

      [10, 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_output_class'],

{ PARAMETER 2

      [[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], ['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_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]]], ['OUTPUT_ATE_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]]]]],

{ 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], 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_prio_age_interval,
            jmc$highest_prio_age_interval, 10]]],

{ PARAMETER 5

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

?? POP ??

    CONST
      p$class_name = 1,
      p$delivery_priority = 2,
      p$enable_class_scheduling = 3,
      p$output_age_interval = 4,
      p$status = 5;

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

    VAR
      values: jmt$object_attribute;

    status.normal := TRUE;

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

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

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

  PROCEND jmp$_change_output_class;
?? TITLE := 'jmp$_change_service_class', EJECT ??

{ PURPOSE:
{   Processes the CHANGE_SERVICE_CLASS command.
{
{ DESIGN:
{   Determines the service classes to update, fetches the changed attributes
{   and makes a request to change them.

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

{ PROCEDURE (osm$manas_chasc) change_service_class (
{   class_name, class_names, cn: any of
{       key
{         all
{       keyend
{       list of name
{     anyend = $current_service_class
{   aio_limit, aiol: (BY_NAME) any of
{       key
{         default
{       keyend
{       integer jmc$lowest_aio_limit..jmc$highest_aio_limit
{     anyend = $optional
{   attempt_preemption, ap: (BY_NAME) any of
{       key
{         default
{       keyend
{       boolean
{     anyend = $optional
{   class_service_threshold, cst: (BY_NAME) any of
{       key
{         default, unlimited
{       keyend
{       integer jmc$lowest_service_accumulator..jmc$highest_service_accumulator
{     anyend = $optional
{   dispatching_control, dc: (BY_NAME) any of
{       key
{         default
{       keyend
{       list 1..5 of record
{         dispatching_priority: any of
{           key
{             default, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10
{           keyend
{           integer 1..10
{         anyend
{         service_time: any of
{           key
{             unlimited
{           keyend
{           integer lowest_service_limit..highest_service_limit
{         anyend = $optional
{         minor_timeslice: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_task_time_slice..jmc$highest_task_time_slice
{         anyend = $optional
{         major_timeslice: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_task_time_slice..jmc$highest_task_time_slice
{         anyend = $optional
{       recend
{     anyend = $optional
{   guaranteed_service_quantum, gsq: (BY_NAME) any of
{       key
{         default, unlimited
{       keyend
{       integer jmc$lowest_service_accumulator..jmc$highest_service_accumulator
{     anyend = $optional
{   long_wait_think_time, lwtt: (BY_NAME) any of
{       key
{         default
{       keyend
{       integer jmc$low_long_wait_think_time..jmc$high_long_wait_think_time
{     anyend = $optional
{   maximum_active_jobs, maxaj: (BY_NAME) any of
{       key
{         default, unlimited
{       keyend
{       integer jmc$lowest_maximum_active_jobs..jmc$highest_maximum_active_jobs
{     anyend = $optional
{   next_service_class, nsc: (BY_NAME) any of
{       key
{         default, none
{       keyend
{       name
{     anyend = $optional
{   scheduling_priority, sp: (BY_NAME) any of
{       key
{         default
{       keyend
{       record
{         minimum: 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
{         swap_age_increment: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{         ready_task_increment: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_job_priority..jmc$highest_job_priority
{         anyend = $optional
{       recend
{     anyend = $optional
{   service_factors, sf: (BY_NAME) any of
{       key
{         default
{       keyend
{       record
{         cpu: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_service_factor_value..jmc$highest_service_factor_valu
{         anyend = $optional
{         memory: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_service_factor_value..jmc$highest_service_factor_valu
{         anyend = $optional
{         residence: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_service_factor_value..jmc$highest_service_factor_valu
{         anyend = $optional
{         io: any of
{           key
{             default
{           keyend
{           integer jmc$lowest_service_factor_value..jmc$highest_service_factor_valu
{         anyend = $optional
{       recend
{     anyend = $optional
{   swap_age_interval, sai: (BY_NAME) any of
{       key
{         default, unlimited
{       keyend
{       integer lowest_prio_age_interval..highest_prio_age_interval
{     anyend = $optional
{   swap_jobs_in_longwait, sjil: (BY_NAME) any of
{       key
{         default
{       keyend
{       boolean
{     anyend = $optional
{   status)

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

  VAR
    pdt: [STATIC, READ, cls$declaration_section] record
      header: clt$pdt_header,
      names: array [1 .. 28] of clt$pdt_parameter_name,
      parameters: array [1 .. 14] 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_v2,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
        default_value: string (22),
      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$integer_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 .. 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,
      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$list_type_qualifier_v2,
          element_type_spec: 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 .. 11] 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,
      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 .. 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,
      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$integer_type_qualifier,
        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 .. 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,
      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 .. 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,
      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 .. 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,
      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,
          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,
      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$integer_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,
        recend,
      recend,
      type14: record
        header: clt$type_specification_header,
      recend,
    recend := [
    [1,
    [106, 8, 18, 19, 44, 54, 736],
    clc$command, 28, 14, 0, 0, 0, 0, 14, 'OSM$MANAS_CHASC'], [
    ['AIOL                           ',clc$abbreviation_entry, 2],
    ['AIO_LIMIT                      ',clc$nominal_entry, 2],
    ['AP                             ',clc$abbreviation_entry, 3],
    ['ATTEMPT_PREEMPTION             ',clc$nominal_entry, 3],
    ['CLASS_NAME                     ',clc$nominal_entry, 1],
    ['CLASS_NAMES                    ',clc$alias_entry, 1],
    ['CLASS_SERVICE_THRESHOLD        ',clc$nominal_entry, 4],
    ['CN                             ',clc$abbreviation_entry, 1],
    ['CST                            ',clc$abbreviation_entry, 4],
    ['DC                             ',clc$abbreviation_entry, 5],
    ['DISPATCHING_CONTROL            ',clc$nominal_entry, 5],
    ['GSQ                            ',clc$abbreviation_entry, 6],
    ['GUARANTEED_SERVICE_QUANTUM     ',clc$nominal_entry, 6],
    ['LONG_WAIT_THINK_TIME           ',clc$nominal_entry, 7],
    ['LWTT                           ',clc$abbreviation_entry, 7],
    ['MAXAJ                          ',clc$abbreviation_entry, 8],
    ['MAXIMUM_ACTIVE_JOBS            ',clc$nominal_entry, 8],
    ['NEXT_SERVICE_CLASS             ',clc$nominal_entry, 9],
    ['NSC                            ',clc$abbreviation_entry, 9],
    ['SAI                            ',clc$abbreviation_entry, 12],
    ['SCHEDULING_PRIORITY            ',clc$nominal_entry, 10],
    ['SERVICE_FACTORS                ',clc$nominal_entry, 11],
    ['SF                             ',clc$abbreviation_entry, 11],
    ['SJIL                           ',clc$abbreviation_entry, 13],
    ['SP                             ',clc$abbreviation_entry, 10],
    ['STATUS                         ',clc$nominal_entry, 14],
    ['SWAP_AGE_INTERVAL              ',clc$nominal_entry, 12],
    ['SWAP_JOBS_IN_LONGWAIT          ',clc$nominal_entry, 13]],
    [
{ PARAMETER 1
    [5, 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, 22],
{ 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, 84, 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
    [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, 121,
  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, 937,
  clc$optional_parameter, 0, 0],
{ PARAMETER 6
    [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, 121,
  clc$optional_parameter, 0, 0],
{ PARAMETER 7
    [14, 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 8
    [17, 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 9
    [18, 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 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, 551,
  clc$optional_parameter, 0, 0],
{ PARAMETER 11
    [22, 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 12
    [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, 121,
  clc$optional_parameter, 0, 0],
{ PARAMETER 13
    [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, 67, clc$optional_parameter,
  0, 0],
{ PARAMETER 14
    [26, 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, 0, FALSE, FALSE],
        [[1, 0, clc$name_type], [1, osc$max_name_size]]
      ]
    ,
    '$current_service_class'],
{ PARAMETER 2
    [[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_aio_limit, jmc$highest_aio_limit, 10]]
    ],
{ 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],
    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_service_accumulator, jmc$highest_service_accumulator, 10]]
    ],
{ PARAMETER 5
    [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 1]]
      ],
    873, [[1, 0, clc$list_type], [857, 1, 5, 0, FALSE, FALSE],
        [[1, 0, clc$record_type], [4],
        ['DISPATCHING_PRIORITY           ', clc$required_field, 454], [[1, 0, clc$union_type], [[
          clc$integer_type, clc$keyword_type],
          FALSE, 2],
          414, [[1, 0, clc$keyword_type], [11], [
            ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 1],
            ['P1                             ', clc$nominal_entry, clc$normal_usage_entry, 2],
            ['P10                            ', clc$nominal_entry, clc$normal_usage_entry, 11],
            ['P2                             ', clc$nominal_entry, clc$normal_usage_entry, 3],
            ['P3                             ', clc$nominal_entry, clc$normal_usage_entry, 4],
            ['P4                             ', clc$nominal_entry, clc$normal_usage_entry, 5],
            ['P5                             ', clc$nominal_entry, clc$normal_usage_entry, 6],
            ['P6                             ', clc$nominal_entry, clc$normal_usage_entry, 7],
            ['P7                             ', clc$nominal_entry, clc$normal_usage_entry, 8],
            ['P8                             ', clc$nominal_entry, clc$normal_usage_entry, 9],
            ['P9                             ', clc$nominal_entry, clc$normal_usage_entry, 10]]
            ],
          20, [[1, 0, clc$integer_type], [1, 10, 10]]
          ],
        ['SERVICE_TIME                   ', clc$optional_field, 84], [[1, 0, clc$union_type], [[
          clc$integer_type, clc$keyword_type],
          FALSE, 2],
          44, [[1, 0, clc$keyword_type], [1], [
            ['UNLIMITED                      ', clc$nominal_entry, clc$normal_usage_entry, 1]]
            ],
          20, [[1, 0, clc$integer_type], [lowest_service_limit, highest_service_limit, 10]]
          ],
        ['MINOR_TIMESLICE                ', 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_task_time_slice, jmc$highest_task_time_slice, 10]]
          ],
        ['MAJOR_TIMESLICE                ', 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_task_time_slice, jmc$highest_task_time_slice, 10]]
          ]
        ]
      ]
    ],
{ PARAMETER 6
    [[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_service_accumulator, jmc$highest_service_accumulator, 10]]
    ],
{ PARAMETER 7
    [[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$low_long_wait_think_time, jmc$high_long_wait_think_time, 10]]
    ],
{ PARAMETER 8
    [[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_maximum_active_jobs, jmc$highest_maximum_active_jobs, 10]]
    ],
{ PARAMETER 9
    [[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 10
    [[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],
      ['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_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]]
        ],
      ['SWAP_AGE_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]]
        ],
      ['READY_TASK_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]]
        ]
      ]
    ],
{ PARAMETER 11
    [[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],
      ['CPU                            ', 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_service_factor_value, jmc$highest_service_factor_valu, 10]]
        ],
      ['MEMORY                         ', 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_service_factor_value, jmc$highest_service_factor_valu, 10]]
        ],
      ['RESIDENCE                      ', 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_service_factor_value, jmc$highest_service_factor_valu, 10]]
        ],
      ['IO                             ', 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_service_factor_value, jmc$highest_service_factor_valu, 10]]
        ]
      ]
    ],
{ PARAMETER 12
    [[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 13
    [[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 14
    [[1, 0, clc$status_type]]];

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

    CONST
      p$class_name = 1,
      p$aio_limit = 2,
      p$attempt_preemption = 3,
      p$class_service_threshold = 4,
      p$dispatching_control = 5,
      p$guaranteed_service_quantum = 6,
      p$long_wait_think_time = 7,
      p$maximum_active_jobs = 8,
      p$next_service_class = 9,
      p$scheduling_priority = 10,
      p$service_factors = 11,
      p$swap_age_interval = 12,
      p$swap_jobs_in_longwait = 13,
      p$status = 14;

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

    VAR
      values: jmt$object_attribute;

    status.normal := TRUE;

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

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

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

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

{ PURPOSE:
{   Processes the DELETE_JOB_CATEGORY_ENTRY command.
{
{ DESIGN:
{   Determines the attributes to update, fetches the categories to delete
{   and makes a request to delete them from the attributes.

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

{ PROCEDURE (osm$manas_deljce) delete_job_category_entry (
{   initiation_excluded_categories, iec: (by_name) any of
{       key all keyend
{       list of name
{     anyend = $optional
{   initiation_required_categories, irc: (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 .. 5] of clt$pdt_parameter_name,
        parameters: array [1 .. 3] 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,
        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,
        recend,
      recend := [[1, [88, 9, 26, 11, 7, 10, 346], clc$command, 5, 3, 0, 0, 0,
            0, 3, 'OSM$MANAS_DELJCE'], [['IEC                            ',
            clc$abbreviation_entry, 1], ['INITIATION_EXCLUDED_CATEGORIES ',
            clc$nominal_entry, 1], ['INITIATION_REQUIRED_CATEGORIES ',
            clc$nominal_entry, 2], ['IRC                            ',
            clc$abbreviation_entry, 2], ['STATUS                         ',
            clc$nominal_entry, 3]], [

{ PARAMETER 1

      [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, 85, clc$optional_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, 85, 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$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 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$status_type]]];

?? POP ??

    CONST
      p$initiation_excluded_categorie = 1 {INITIATION_EXCLUDED_CATEGORIES} ,
      p$initiation_required_categorie = 2 {INITIATION_REQUIRED_CATEGORIES} ,
      p$status = 3;

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

    VAR
      values: 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_controls, #SEQ (pdt),
          ^pvt, values, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$change_object (jmc$profile_controls, current_controls, values,
          jmc$delete_list_items, status);

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

{ PURPOSE:
{   Cleans up for the utility if an abort occurs.

  PROCEDURE end_handler
    (    termination_status: ost$status;
     VAR status: ost$status);

    VAR
      local_status: ost$status;

    status.normal := TRUE;

    jmp$clear_utility_active (profile_access_id, local_status);

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

{ PURPOSE:
{   Processes the QUIT command which exits the utility.
{
{ DESIGN:
{   The routine checks the SAVE_CHANGES parameter to see if the system tables
{   are to be updated with the profile active in the utility.  If so it
{   updates the system tables with this profile.
{
{ NOTES:
{   This update is not allowed if the profile was recovered from the system
{   tables rather then the system profile file.

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

{ PROCEDURE (osm$manas_qui) quit (
{   save_change, sc: boolean = true
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 3] of clt$pdt_parameter_name,
        parameters: array [1 .. 2] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          default_value: string (4),
        recend,
        type2: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 11, 7, 33, 18], clc$command, 3, 2, 0, 0, 0, 0,
            2, 'OSM$MANAS_QUI'], [['SAVE_CHANGE                    ',
            clc$nominal_entry, 1], ['SC                             ',
            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, 3,
            clc$optional_default_parameter, 0, 4],

{ PARAMETER 2

      [3, 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$boolean_type], 'true'],

{ PARAMETER 2

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

?? POP ??

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

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

    status.normal := TRUE;

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

    IF pvt [p$save_change].value^.boolean_value.value THEN
      jmp$update_system_profile (profile_access_id,
            prevent_profile_file_update, status);
      IF NOT status.normal THEN
        RETURN
      IFEND;
    IFEND;

    clp$end_include (utility_name, status);

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

{ PURPOSE:
{   Processes the READ_SYSTEM_TABLES command.
{
{ DESIGN:
{   This command makes a call to a procedure to build a profile from the
{   current system tables.  These table can then be displayed to see if
{   they have the desired data and form.
{
{ NOTES:
{   This is a hidden command for ARH debugging purposes only.  It should
{   be deleted before the system is released.

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

{ PROCEDURE (osm$manas_reast) read_system_tables (
{   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, 11, 7, 57, 356], clc$command, 1, 1, 0, 0, 0,
            0, 1, 'OSM$MANAS_REAST'], [['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;

    jmp$build_profile_from_system (jmv$new_profile, status);
    IF NOT status.normal THEN
      RETURN
    IFEND;

    jmp$build_category_object (jmv$new_profile, status);
    IF status.normal THEN
      prevent_profile_file_update := TRUE;
      jmp$set_profile (jmv$new_profile);
    IFEND;

  PROCEND jmp$_read_system_tables;
?? TITLE := 'jmp$_write_profile', EJECT ??

{ PURPOSE:
{   Process the WRITE_PROFILE command.
{
{ DESIGN:
{   Write the working profile data to the specified file.
{
{ NOTES:
{   See JMM$ADMINISTER_PROFILE.

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

{ PROCEDURE (osm$manas_wrip) write_profile (
{   result, r: file = $user.scheduling_profile.$next
{   status)

?? PUSH (LISTEXT := ON) ??

    VAR
      pdt: [STATIC, READ, cls$declaration_section] record
        header: clt$pdt_header,
        names: array [1 .. 3] of clt$pdt_parameter_name,
        parameters: array [1 .. 2] of clt$pdt_parameter,
        type1: record
          header: clt$type_specification_header,
          default_value: string (30),
        recend,
        type2: record
          header: clt$type_specification_header,
        recend,
      recend := [[1, [88, 9, 26, 11, 8, 16, 251], clc$command, 3, 2, 0, 0, 0,
            0, 2, 'OSM$MANAS_WRIP'], [['R                              ',
            clc$abbreviation_entry, 1], ['RESULT                         ',
            clc$nominal_entry, 1], ['STATUS                         ',
            clc$nominal_entry, 2]], [

{ PARAMETER 1

      [2, 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, 3,
            clc$optional_default_parameter, 0, 30],

{ PARAMETER 2

      [3, 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$file_type], '$user.scheduling_profile.$next'],

{ PARAMETER 2

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

?? POP ??

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

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

    status.normal := TRUE;

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

    jmp$write_profile (pvt [p$result].value^.file_value^, jmv$the_profile,
          status);

  PROCEND jmp$_write_profile;
?? TITLE := '[XDCL] jmp$_manage_active_scheduling', EJECT ??

{ PURPOSE:
{   Processes the MANAGE_ACTIVE_SCHEDULING command which starts up a utilty.
{
{ DESIGN:
{   This routine sets the MANAS interlock, recovers the scheduling profile,
{   and then starts the utility.

  PROCEDURE [XDCL] jmp$_manage_active_scheduling
    (    parameter_list: clt$parameter_list;
     VAR status: ost$status);

{ PROCEDURE (osm$manas) manage_active_scheduling (
{   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, 23, 11, 46, 57, 655], clc$command, 1, 1, 0, 0, 0,
            0, 1, 'OSM$MANAS'], [['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;

    VAR
      current_mainframe_id: pmt$mainframe_id,
      severity: ost$status_severity,
      local_status: ost$status;

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

    pmp$get_mainframe_id (current_mainframe_id, status);
    IF NOT status.normal THEN
      RETURN
    IFEND;
    current_controls.kind := clc$name;
    current_controls.name_value := current_mainframe_id;

    jmp$build_default_profile (status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    pmp$establish_end_handler (^end_handler, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

    jmp$recover_profile (profile_access_id, prevent_profile_file_update,
          status);
    IF NOT status.normal THEN
      osp$get_status_severity (status.condition, severity, local_status);
      IF severity > osc$warning_status THEN
        RETURN;
      IFEND;
      osp$generate_message (status, local_status);
    IFEND;

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

    jmv$modify_display_attributes := ^jmp$update_object_statistics;

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

    jmp$clear_utility_active (profile_access_id, local_status);

    pmp$disestablish_end_handler (^end_handler, local_status);

    clp$end_utility (utility_name, status);

  PROCEND jmp$_manage_active_scheduling;
MODEND jmm$manage_active_scheduling;
