?? RIGHT := 110 ??
?? NEWTITLE := 'Tailored Release Process:  Define Release Level command' ??
MODULE ram$define_release_level;

{ PURPOSE:
{   This module contains the procedure that defines the release level.
{
{ DESIGN:
{
{ NOTES:
{

?? NEWTITLE := 'Global Declarations Referenced by This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc clp$scan_parameter_list
?? POP ??

?? TITLE := 'Global Declarations Declared by This Module', EJECT ??

?? TITLE := '[XDCL, #GATE] rap$define_release_level', EJECT ??

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


{ pdt defrl_pdt (
{   release_level, rl : $required
{   status            : var of status = $optional
{   )

?? PUSH (LISTEXT := ON) ??

  VAR
    defrl_pdt: [STATIC, READ, cls$pdt] clt$parameter_descriptor_table := [^defrl_pdt_names, ^defrl_pdt_params
      ];

  VAR
    defrl_pdt_names: [STATIC, READ, cls$pdt_names_and_defaults] array [1 .. 3] of
      clt$parameter_name_descriptor := [['RELEASE_LEVEL', 1], ['RL', 1], ['STATUS', 2]];

  VAR
    defrl_pdt_params: [STATIC, READ, cls$pdt_parameters] array [1 .. 2] of clt$parameter_descriptor := [

{ RELEASE_LEVEL RL }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$application_value, '$REQUIRED',  [
      clc$unspecified_av_scanner]]],

{ STATUS }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$variable_reference,
      clc$array_not_allowed, clc$status_value]]];

?? POP ??

    status.normal := TRUE;

    clp$scan_parameter_list ( parameter_list, defrl_pdt, status);
    IF NOT status.normal THEN
      RETURN;
    IFEND;

  PROCEND rap$define_release_level;
MODEND ram$define_release_level;
