{ PROCEDURE change_ms_display (
{   display_screens, display_screen, ds: list of key
{       (mass_storage, ms)
{       (mass_storage_space, mss)
{       (mass_storage_usage, msu)
{     keyend = $required
{   display_options, do: any of
{       key
{         (all, a)
{         (none, n)
{         (default, d)
{       keyend
{       list of key
{         (total, t)
{         (volume_status_summary, vss)
{         (classes_out_of_space, coos)
{         (critical_class_added_count, ccac)
{       keyend
{     anyend = $optional
{   sort_option, so: any of
{       key
{         (default, d, active_volume_table, avt)
{         (logical_unit_table, lut)
{         (recorded_vsn, rv, vsn, v)
{       keyend
{       record
{         vsn_list: list of name 1..6
{         display_omitted_units: boolean = $optional
{       recend
{     anyend = $optional
{   space_quantity, sq: key
{       default
{       (device_allocation_units, device_allocation_unit, dau)
{       (mega_bytes, mbytes, mb)
{     keyend = $optional
{   space_selection, ss: key
{       default
{       (mainframe_and_device_allocation, mada, mat_dat, md)
{       (capacity_and_available, caa)
{     keyend = $optional
{   status)

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

  VAR
    pdt: [STATIC, READ, cls$declaration_section] record
      header: clt$pdt_header,
      names: array [1 .. 12] of clt$pdt_parameter_name,
      parameters: array [1 .. 6] of clt$pdt_parameter,
      type1: record
        header: clt$type_specification_header,
        qualifier: clt$list_type_qualifier_v2,
        element_type_spec: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 6] of clt$keyword_specification,
        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 .. 6] 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$keyword_type_qualifier,
            keyword_specs: array [1 .. 8] of clt$keyword_specification,
          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 .. 10] 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$list_type_qualifier_v2,
            element_type_spec: record
              header: clt$type_specification_header,
              qualifier: clt$name_type_qualifier,
            recend,
          recend,
          field_spec_2: clt$field_specification,
          element_type_spec_2: record
            header: clt$type_specification_header,
          recend,
        recend,
      recend,
      type4: record
        header: clt$type_specification_header,
        qualifier: clt$keyword_type_qualifier,
        keyword_specs: array [1 .. 7] of clt$keyword_specification,
      recend,
      type5: record
        header: clt$type_specification_header,
        qualifier: clt$keyword_type_qualifier,
        keyword_specs: array [1 .. 7] of clt$keyword_specification,
      recend,
      type6: record
        header: clt$type_specification_header,
      recend,
    recend := [
    [1,
    [102, 8, 27, 11, 36, 3, 538],
    clc$command, 12, 6, 1, 0, 0, 0, 6, ''], [
    ['DISPLAY_OPTIONS                ',clc$nominal_entry, 2],
    ['DISPLAY_SCREEN                 ',clc$alias_entry, 1],
    ['DISPLAY_SCREENS                ',clc$nominal_entry, 1],
    ['DO                             ',clc$abbreviation_entry, 2],
    ['DS                             ',clc$abbreviation_entry, 1],
    ['SO                             ',clc$abbreviation_entry, 3],
    ['SORT_OPTION                    ',clc$nominal_entry, 3],
    ['SPACE_QUANTITY                 ',clc$nominal_entry, 4],
    ['SPACE_SELECTION                ',clc$nominal_entry, 5],
    ['SQ                             ',clc$abbreviation_entry, 4],
    ['SS                             ',clc$abbreviation_entry, 5],
    ['STATUS                         ',clc$nominal_entry, 6]],
    [
{ PARAMETER 1
    [3, 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, 245,
  clc$required_parameter, 0, 0],
{ PARAMETER 2
    [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, 568,
  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$specify_positionally],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 500,
  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$specify_positionally],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 266,
  clc$optional_parameter, 0, 0],
{ PARAMETER 5
    [9, 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, 266,
  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_reference, clc$immediate_evaluation, clc$standard_parameter_checking, 3,
  clc$optional_parameter, 0, 0]],
{ PARAMETER 1
    [[1, 0, clc$list_type], [229, 1, clc$max_list_size, 0, FALSE, FALSE],
      [[1, 0, clc$keyword_type], [6], [
      ['MASS_STORAGE                   ', clc$nominal_entry, clc$normal_usage_entry, 1],
      ['MASS_STORAGE_SPACE             ', clc$nominal_entry, clc$normal_usage_entry, 2],
      ['MASS_STORAGE_USAGE             ', clc$nominal_entry, clc$normal_usage_entry, 3],
      ['MS                             ', clc$abbreviation_entry, clc$normal_usage_entry, 1],
      ['MSS                            ', clc$abbreviation_entry, clc$normal_usage_entry, 2],
      ['MSU                            ', clc$abbreviation_entry, clc$normal_usage_entry, 3]]
      ]
    ],
{ PARAMETER 2
    [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type],
    FALSE, 2],
    229, [[1, 0, clc$keyword_type], [6], [
      ['A                              ', clc$abbreviation_entry, clc$normal_usage_entry, 1],
      ['ALL                            ', clc$nominal_entry, clc$normal_usage_entry, 1],
      ['D                              ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
      ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 3],
      ['N                              ', clc$abbreviation_entry, clc$normal_usage_entry, 2],
      ['NONE                           ', clc$nominal_entry, clc$normal_usage_entry, 2]]
      ],
    319, [[1, 0, clc$list_type], [303, 1, clc$max_list_size, 0, FALSE, FALSE],
        [[1, 0, clc$keyword_type], [8], [
        ['CCAC                           ', clc$abbreviation_entry, clc$normal_usage_entry, 4],
        ['CLASSES_OUT_OF_SPACE           ', clc$nominal_entry, clc$normal_usage_entry, 3],
        ['COOS                           ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
        ['CRITICAL_CLASS_ADDED_COUNT     ', clc$nominal_entry, clc$normal_usage_entry, 4],
        ['T                              ', clc$abbreviation_entry, clc$normal_usage_entry, 1],
        ['TOTAL                          ', clc$nominal_entry, clc$normal_usage_entry, 1],
        ['VOLUME_STATUS_SUMMARY          ', clc$nominal_entry, clc$normal_usage_entry, 2],
        ['VSS                            ', clc$abbreviation_entry, clc$normal_usage_entry, 2]]
        ]
      ]
    ],
{ PARAMETER 3
    [[1, 0, clc$union_type], [[clc$keyword_type, clc$record_type],
    FALSE, 2],
    377, [[1, 0, clc$keyword_type], [10], [
      ['ACTIVE_VOLUME_TABLE            ', clc$alias_entry, clc$normal_usage_entry, 1],
      ['AVT                            ', clc$abbreviation_entry, clc$normal_usage_entry, 1],
      ['D                              ', clc$alias_entry, clc$normal_usage_entry, 1],
      ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 1],
      ['LOGICAL_UNIT_TABLE             ', clc$nominal_entry, clc$normal_usage_entry, 2],
      ['LUT                            ', clc$abbreviation_entry, clc$normal_usage_entry, 2],
      ['RECORDED_VSN                   ', clc$nominal_entry, clc$normal_usage_entry, 3],
      ['RV                             ', clc$alias_entry, clc$normal_usage_entry, 3],
      ['V                              ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
      ['VSN                            ', clc$alias_entry, clc$normal_usage_entry, 3]]
      ],
    103, [[1, 0, clc$record_type], [2],
      ['VSN_LIST                       ', clc$required_field, 21], [[1, 0, clc$list_type], [5, 0,
  clc$max_list_size, 0, FALSE, FALSE],
          [[1, 0, clc$name_type], [1, 6]]
        ],
      ['DISPLAY_OMITTED_UNITS          ', clc$optional_field, 3], [[1, 0, clc$boolean_type]]
      ]
    ],
{ PARAMETER 4
    [[1, 0, clc$keyword_type], [7], [
    ['DAU                            ', clc$abbreviation_entry, clc$normal_usage_entry, 2],
    ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 1],
    ['DEVICE_ALLOCATION_UNIT         ', clc$alias_entry, clc$normal_usage_entry, 2],
    ['DEVICE_ALLOCATION_UNITS        ', clc$nominal_entry, clc$normal_usage_entry, 2],
    ['MB                             ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
    ['MBYTES                         ', clc$alias_entry, clc$normal_usage_entry, 3],
    ['MEGA_BYTES                     ', clc$nominal_entry, clc$normal_usage_entry, 3]]
    ],
{ PARAMETER 5
    [[1, 0, clc$keyword_type], [7], [
    ['CAA                            ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
    ['CAPACITY_AND_AVAILABLE         ', clc$nominal_entry, clc$normal_usage_entry, 3],
    ['DEFAULT                        ', clc$nominal_entry, clc$normal_usage_entry, 1],
    ['MADA                           ', clc$alias_entry, clc$normal_usage_entry, 2],
    ['MAINFRAME_AND_DEVICE_ALLOCATION', clc$nominal_entry, clc$normal_usage_entry, 2],
    ['MAT_DAT                        ', clc$alias_entry, clc$normal_usage_entry, 2],
    ['MD                             ', clc$abbreviation_entry, clc$normal_usage_entry, 2]]
    ],
{ PARAMETER 6
    [[1, 0, clc$status_type]]];

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

    CONST
      p$display_screens = 1,
      p$display_options = 2,
      p$sort_option = 3,
      p$space_quantity = 4,
      p$space_selection = 5,
      p$status = 6;

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


