{
{   The purpose of this request is to convert a clt$data_value to its string
{ representation.  The representation may take on a number of forms determined
{ by the REPRESENTATION_OPTION parameter.
{
{   This representation is returned in a sequence.  The first data item in the
{ sequence is a clt$data_representation_count, i.e.  the number of strings
{ used in the representation.  The remaining data is a series of
{ clt$string_size, clt$string_value pairs with the length of each
{ clt$string_value determined by the corresponding clt$string_size.
{
{       CLP$CONVERT_DATA_TO_STRING (VALUE, REPRESENTATION_OPTION, MAX_STRING,
{         WORK_AREA, DATA_REPRESENTATION, STATUS)
{
{ VALUE: (input)  This parameter specifies the data value to be converted.
{
{ REPRESENTATION_OPTION: (input)  This parameter specifies the form of the
{       data value's representation as determined by the following options:
{
{       CLC$COMPRESSED_LABELED_ELEM_REP:  each element of the data value is
{             converted to display.  Items that are components of data
{             structures are prefixed with identifying "labels", e.g.  field
{             names for record elements, subscripts for array elements, etc.
{             When possible, multiple items are placed in one string seperated
{             by commas.
{
{       CLC$DATA_ELEM_REPRESENTATION:  each element of the data value is
{             converted to a separate string in the representation.  Status
{             values are formatted as messages and may therefore occupy more
{             than one string.  The built-in record types command_reference,
{             date_time, entry_point_reference, scu_line_identifier,
{             time_increment and time_zone are considered to be elements for
{             purposes of this option.
{
{       CLC$DATA_STRUCT_REPRESENTATION:  each element of the data value is
{             converted to a separate string in the representation.  The
{             generic data type of the value (and components of the value, if
{             applicable) are included in the representation as "comments"
{             prefixing the corresponding value or value component.  Items that
{             are components of data structures are prefixed with identifying
{             "labels", e.g.  field names for record elements, subscripts for
{             array elements, etc.
{
{       CLC$DATA_SOURCE_REPRESENTATION:  the data value is represented in the
{             form of an SCL "expression" that if evaluated with an appropriate
{             type specification would yield exactly the same data value.  All
{             strings in the representation, except the last, will end with an
{             ellipsis ("..").
{
{       CLC$DISPLAY_ELEM_REPRESENTATION:  each element of the data value is
{             converted to a separate string in the representation.  The
{             elements are converted using display conventions so all names,
{             keywords, and files are in lower case characters.  Status values
{             are formatted as messages and may therefore occupy more than one
{             string.  The built-in record types command_reference, date_time,
{             entry_point_reference, scu_line_identifier, time_increment and
{             time_zone are considered to be elements for purposes of this
{             option.
{
{       CLC$DISPLAY_SOURCE_REPRESENTATION:  the data value is represented in
{             the form of an SCL "expression" that if evaluated with an
{             appropriate type specification would yield exactly the same data
{             value.  The elements are converted using display conventions so
{             all names, keywords, and files are in lower case characters.  All
{             strings in the representation, except the last, will end with an
{             ellipsis ("..").
{
{       CLC$LABELED_ELEM_REPRESENTATION:  each element of the data value is
{             converted to a separate string in the representation.  Items that
{             are components of data structures are prefixed with identifying
{             "labels", e.g.  field names for record elements, subscripts for
{             array elements, etc.  Each of these "labels" is a separate string
{             in the representation if the value of the corresponding component
{             also has components.
{
{ MAX_STRING: (input)  This parameter specifies the maximum length of strings
{       in the representation of the value.
{
{ WORK_AREA: (input, output)  This parameter specifies an area of storage that
{       will be used to construct the value's representation.  The current
{       position of this sequence pointer is updated to reflect the amount of
{       storage used by the request.  The value's respresentation occupies the
{       used part of this sequence.
{
{ DATA_REPRESENTATION: (output)  This parameter specifies the data value's
{       representation as described above.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITIONS: cle$work_area_overflow
{                   cle$bad_data_rep_option
{                   cle$bad_data_value
{
