{
{    The purpose of this SCL command interface is for prompting for a value.
{  A prompt for value uses a parameter prompt message for the prompt, and a
{  parameter help message for the help.
{
{    SCL COMMAND INTERFACE:
{
{      rap$prompt_for_value (
{        prompt_module, pm        : name = $required
{        prompt_name, pn          : name = $required
{        prompting_parameters, pp : list 1..10 of string = $optional
{        prompting_options, po    : list of key allow_go, allow_null,
{                                 allow_quit, clear_screen = $optional
{        value_declaration, vd    : list 1..2 of string or key hex,
{                                 string, list = $required
{        value_returned, vr       : var of string = $required
{        status                   : var of status = $optional
{        )
{
{    PARAMETERS:
{
{      PROMPT_MODULE (PM)
{        Specifies the name of the help module that contains the prompt
{        (parameter prompt message) and the prompt help (parameter help
{        message).  This parameter is required.
{
{      PROMPT_NAME (PN)
{        Specifies the name used for the prompt and help messages found in
{        the help module.
{
{      PROMPTING_PARAMETERS (PP)
{        Optionally specifies the values to replace the parameters found
{        in the prompt and help message templates.  The parameters
{        are numbered for identification and the position of the value in
{        the list refers to the parameter it belongs to.
{
{      PROMPTING_OPTIONS (PO)
{        Optionally specifies the prompting options to allow.
{        The choices are:
{
{          allow_go
{
{            Allows the user to enter 'go' or 'g' in upper or lower case
{            for the prompt.  The value returned by the prompt interface
{            is '+GO'.
{
{          allow_null
{
{             Allows the user to enter a null string or carriage return
{             for the prompt.  The value returned by the prompt interface
{             is '+NULL'.
{
{          allow_quit
{
{            Allows the user to enter 'quit', 'qui', or 'q' in upper or
{            lower case for the prompt.  The value returned by the prompt
{            interface is '+QUIT'.
{
{          clear_screen
{
{            Causes the screen to be cleared before displaying the prompt.
{            If not used the prompt will be displayed following whatever
{            is on the screen.
{
{      VALUE_DECLARATION (VD)
{        Declares the kind of value the prompt is looking for.  This is
{        specified by a list of 2.
{
{        The first part of the list is any SCL parameter value declaration
{        allowed specified as a string.  This part is required.
{        Verification of the input entered is done using the SCL command
{        processor.  An SCL procedure is created with a parameter using
{        the value declaration specified in part 1.  The SCL procedure is
{        called passing in the value entered by the user and the status is
{        trapped.  When status returns normal the value is valid.
{
{        The second part is one of the following optional keys that allows
{        the user to simplify their input:
{
{          hex
{
{            When specified the user does not have to enter the radix
{            when entering the value.  The hex radix will be added by the
{            interface before the input line is verified.
{
{          string
{
{            When specified the user does not have to add quotes to the
{            string entered.  The interface will add the quotes for the
{            user before the input line is verified.
{
{          list
{
{            When specified the user does not have to add the opening and
{            closing parenthesis to the list.  This is automatically done
{            before the interface is verified.
{
{      VALUE_RETURNED (VR)
{        This is the value returned by the interface. It is either the
{        value as entered by the user or one of the keywords described in
{        the prompting  options.  This parameter is required.
{
{      STATUS
{        Optional status variable.
{        conditions:
{              rae$bad_value_key
{              rae$bad_value_specification
{              rae$message_not_found
{              rae$module_access_error
{
