com.sap.conn.jco

## Interface JCoListMetaData

- All Superinterfaces:
    Cloneable, JCoMetaData, Serializable

      public interface JCoListMetaData
      extends JCoMetaData

  Encapsulates the metadata of either a parameter list, a request, or a response. Each metadata element describes a field of these list oriented data containers in terms of name, type, length, etc. JCoListMetadata objects are mainly used to create parameter lists of a certain layout. JCoListMetadata contains all the metadata, which is specific to parameter lists.
  See Also:
    `JCoParameterList`, `JCoRequest`, `JCoResponse`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CHANGING_PARAMETER` Flag indicating an export parameter.
    `static int` | `EXPORT_PARAMETER` Flag indicating an export parameter.
    `static int` | `IMPORT_PARAMETER` Flag indicating an import parameter.
    `static int` | `OPTIONAL_PARAMETER` Flag indicating an optional parameter.

    - ### Fields inherited from interface com.sap.conn.jco.JCoMetaData

      `TYPE_ABAPOBJECT, TYPE_BCD, TYPE_BOX, TYPE_BYTE, TYPE_CDAY, TYPE_CHAR, TYPE_DATE, TYPE_DECF16, TYPE_DECF34, TYPE_DTDAY, TYPE_DTMONTH, TYPE_DTWEEK, TYPE_EXCEPTION, TYPE_FLOAT, TYPE_GENERIC_BOX, TYPE_INT, TYPE_INT1, TYPE_INT2, TYPE_INT8, TYPE_INVALID, TYPE_ITAB, TYPE_NUM, TYPE_STRING, TYPE_STRUCTURE, TYPE_TABLE, TYPE_TIME, TYPE_TMINUTE, TYPE_TSECOND, TYPE_UTCLONG, TYPE_UTCMINUTE, TYPE_UTCSECOND, TYPE_XSTRING, UNINITIALIZED`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(String name, int type, int nucByteLength, int ucByteLength, int flags)` Adds a new scalar field descriptor to the metadata object.
    `void` | `add(String name, int type, int nucByteLength, int ucByteLength, int decimals, String defaults, String description, int flags, Object tabMetaData, JCoExtendedFieldMetaData extended)` Adds a new field descriptor to the metadata object.
    `void` | `add(String name, int type, int nucByteLength, int ucByteLength, int decimals, String defaults, String description, int flags, Object tabMetaData, String recordFieldName, JCoExtendedFieldMetaData extended)` Adds a new field descriptor to the metadata object.
    `void` | `add(String name, int type, JCoRecordMetaData recordMetaData, int flags)` Adds a new complex field descriptor to the metadata object.
    `String` | `getDefault(int index)` Returns the default value of the data field at the specified index.
    `String` | `getDefault(String fieldName)` Returns the default value for the field with the specified name.
    `String` | `getRecordFieldName(int index)` If the parameter is defined by referencing a field in a table or structure, the name of this field for the parameter field at the specified index is returned, `null` otherwise.
    `String` | `getRecordFieldName(String fieldName)` If the parameter is defined by referencing a field in a table or structure, the name of this field for the parameter field with the specified name is returned, `null` otherwise.
    `boolean` | `isChanging(int index)` Checks whether the field at the specified index is a changing parameter.
    `boolean` | `isChanging(String fieldName)` Checks whether the field with the specified name is a changing parameter.
    `boolean` | `isException(int index)` Checks whether this field is an exception.
    `boolean` | `isException(String fieldName)` Checks whether this field with the specified name is an exception.
    `boolean` | `isExport(int index)` Checks whether the field at the specified index is an export parameter.
    `boolean` | `isExport(String fieldName)` Checks whether the field with the specified name is an export parameter.
    `boolean` | `isImport(int index)` Checks whether the field at the specified index is an import parameter.
    `boolean` | `isImport(String fieldName)` Checks whether the field with the specified name is an import parameter.
    `boolean` | `isOptional(int index)` Checks whether the field at the specified index is an optional parameter.
    `boolean` | `isOptional(String fieldName)` Checks whether the field with the specified name is an optional parameter.

    - ### Methods inherited from interface com.sap.conn.jco.JCoMetaData

      `getByteLength, getByteLength, getClassMetaData, getClassMetaData, getClassNameOfField, getClassNameOfField, getDecimals, getDecimals, getDescription, getDescription, getExtendedFieldMetaData, getExtendedFieldMetaData, getFieldCount, getLength, getLength, getName, getName, getRecordMetaData, getRecordMetaData, getRecordTypeName, getRecordTypeName, getType, getType, getTypeAsString, getTypeAsString, getUnicodeByteLength, getUnicodeByteLength, hasField, indexOf, isAbapObject, isAbapObject, isLocked, isNestedType1Structure, isNestedType1Structure, isStructure, isStructure, isTable, isTable, lock, setName`

- - ### Field Detail

    - #### OPTIONAL_PARAMETER

          static final int OPTIONAL_PARAMETER

      Flag indicating an optional parameter.
      See Also:
        Constant Field Values

    - #### IMPORT_PARAMETER

          static final int IMPORT_PARAMETER

      Flag indicating an import parameter.
      See Also:
        Constant Field Values

    - #### EXPORT_PARAMETER

          static final int EXPORT_PARAMETER

      Flag indicating an export parameter.
      See Also:
        Constant Field Values

    - #### CHANGING_PARAMETER

          static final int CHANGING_PARAMETER

      Flag indicating an export parameter.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### add

          void add(String name,
                 int type,
                 int nucByteLength,
                 int ucByteLength,
                 int flags)

      Adds a new scalar field descriptor to the metadata object.
      Parameters:
        `name` - field name for identifying this data field
        `type` - field datatype
        `nucByteLength` - data field length in bytes for non-Unicode layout
        `ucByteLength` - data field length in bytes for Unicode layout
        `flags` - bit-vector for additional attributes of the field. The vector can be ORed together from
        - `IMPORT_PARAMETER` - if the field is an import parameter
        - `EXPORT_PARAMETER` - if the field is an export parameter
        - `CHANGING_PARAMETER` - if the field is a changing parameter
        - `OPTIONAL_PARAMETER` - if the field is an optional parameter

    - #### add

          void add(String name,
                 int type,
                 JCoRecordMetaData recordMetaData,
                 int flags)

      Adds a new complex field descriptor to the metadata object. Complex fields are structures and tables.
      Parameters:
        `name` - field name for identifying this data field
        `type` - field datatype
        `recordMetaData` - the metadata for the structure or table
        `flags` - bit-vector for additional attributes of the field. The vector can be ORed together from
        - `IMPORT_PARAMETER` - if the field is an import parameter
        - `EXPORT_PARAMETER` - if the field is an export parameter
        - `CHANGING_PARAMETER` - if the field is a changing parameter
        - `OPTIONAL_PARAMETER` - if the field is an optional parameter

    - #### add

          void add(String name,
                 int type,
                 int nucByteLength,
                 int ucByteLength,
                 int decimals,
                 String defaults,
                 String description,
                 int flags,
                 Object tabMetaData,
                 JCoExtendedFieldMetaData extended)

      Adds a new field descriptor to the metadata object.
      Parameters:
        `name` - field name for identifying this data field
        `type` - field datatype
        `nucByteLength` - data field length in bytes for non-Unicode layout
        `ucByteLength` - data field length in bytes for Unicode layout
        `decimals` - data field number of decimals (only necessary for the data types TYPE_BCD and TYPE_FLOAT)
        `defaults` - data field default value
        `description` - descriptive text of the data field
        `flags` - bit-vector for additional attributes of the field. The vector can be ORed together from
        - `IMPORT_PARAMETER` - if the field is an import parameter
        - `EXPORT_PARAMETER` - if the field is an export parameter
        - `CHANGING_PARAMETER` - if the field is a changing parameter
        - `OPTIONAL_PARAMETER` - if the field is an optional parameter
        `tabMetaData` - metadata for a complex field, if the field is a structure or a table
        `extended` - extended metadata for this field or `null` if none is available

    - #### add

          void add(String name,
                 int type,
                 int nucByteLength,
                 int ucByteLength,
                 int decimals,
                 String defaults,
                 String description,
                 int flags,
                 Object tabMetaData,
                 String recordFieldName,
                 JCoExtendedFieldMetaData extended)

      Adds a new field descriptor to the metadata object.
      Parameters:
        `name` - field name for identifying this data field
        `type` - field datatype
        `nucByteLength` - data field length in bytes for non-Unicode layout
        `ucByteLength` - data field length in bytes for Unicode layout
        `decimals` - data field number of decimals (only necessary for the data types TYPE_BCD and TYPE_FLOAT)
        `defaults` - data field default value
        `description` - descriptive text of the data field
        `flags` - bit-vector for additional attributes of the field. The vector can be ORed together from
        - `IMPORT_PARAMETER` - if the field is an import parameter
        - `EXPORT_PARAMETER` - if the field is an export parameter
        - `CHANGING_PARAMETER` - if the field is a changing parameter
        - `OPTIONAL_PARAMETER` - if the field is an optional parameter
        `tabMetaData` - metadata for a complex field, if the field is a structure or a table
        `recordFieldName` - associated field name in a referenced table or structure metadata
        `extended` - extended metadata for this field or `null` if none is available

    - #### isException

          boolean isException(int index)

      Checks whether this field is an exception.
      Parameters:
        `index` - the index of the field
      Returns:
        `true` if the specified field is an exception, `false` otherwise

    - #### isException

          boolean isException(String fieldName)

      Checks whether this field with the specified name is an exception.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        `true` if the specified field is an exception, `false` otherwise
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

    - #### getDefault

          String getDefault(int index)

      Returns the default value of the data field at the specified index.
      Parameters:
        `index` - the index of the field
      Returns:
        data field default value

    - #### getDefault

          String getDefault(String fieldName)

      Returns the default value for the field with the specified name.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        data field default value
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

    - #### getRecordFieldName

          String getRecordFieldName(int index)

      If the parameter is defined by referencing a field in a table or structure, the name of this field for the parameter field at the specified index is returned, `null` otherwise. In the first case `getRecordTypeName(index)` would contain the name of the enclosing record.
      Parameters:
        `index` - the index of the parameter field
      Returns:
        referenced record field name
      See Also:
        `JCoMetaData.getRecordTypeName(int)`

    - #### getRecordFieldName

          String getRecordFieldName(String fieldName)

      If the parameter is defined by referencing a field in a table or structure, the name of this field for the parameter field with the specified name is returned, `null` otherwise. In the first case `getRecordTypeName(fieldName)` would contain the name of the enclosing record.
      Parameters:
        `fieldName` - the name of the parameter field
      Returns:
        referenced record field name
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist
      See Also:
        `JCoMetaData.getRecordTypeName(String)`

    - #### isOptional

          boolean isOptional(int index)

      Checks whether the field at the specified index is an optional parameter.
      Parameters:
        `index` - the index of the field
      Returns:
        `true` if the specified field is an optional parameter, `false` otherwise

    - #### isOptional

          boolean isOptional(String fieldName)

      Checks whether the field with the specified name is an optional parameter.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        `true` if the specified field is an optional parameter, `false` otherwise
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

    - #### isImport

          boolean isImport(int index)

      Checks whether the field at the specified index is an import parameter.
      Parameters:
        `index` - the index of the field
      Returns:
        `true` if the specified field is an import parameter, `false` otherwise

    - #### isImport

          boolean isImport(String fieldName)

      Checks whether the field with the specified name is an import parameter.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        `true` if the specified field is an import parameter, `false` otherwise
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

    - #### isExport

          boolean isExport(int index)

      Checks whether the field at the specified index is an export parameter.
      Parameters:
        `index` - the index of the field
      Returns:
        `true` if the specified field is an export parameter, `false` otherwise

    - #### isExport

          boolean isExport(String fieldName)

      Checks whether the field with the specified name is an export parameter.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        `true` if the specified field is an export parameter, `false` otherwise
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

    - #### isChanging

          boolean isChanging(int index)

      Checks whether the field at the specified index is a changing parameter.
      Parameters:
        `index` - the index of the field
      Returns:
        `true` if the specified field is a changing parameter, `false` otherwise

    - #### isChanging

          boolean isChanging(String fieldName)

      Checks whether the field with the specified name is a changing parameter.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        `true` if the specified field is a changing parameter, `false` otherwise
      Throws:
        `JCoRuntimeException` - with group JCO_ERROR_FIELD_NOT_FOUND if a field with this name does not exist

Copyright © 2020 SAP. All Rights Reserved.