Interface JCoRecord

All Superinterfaces:
Cloneable, Iterable<JCoField>, Serializable
All Known Subinterfaces:
JCoAbapObject, JCoParameterList, JCoRequest, JCoResponse, JCoStructure, JCoTable

public interface JCoRecord extends Serializable, Cloneable, Iterable<JCoField>
Base interface for all data containers used throughout the JCo framework. Implementations take care of internal bookkeeping of buffers, metadata, etc. In addition it provides a rich set of get/set methods which allow a convenient access to the individual fields that make up a record. Getter and setter methods support conversion of field values, which are summarized by the following table:

Getter-Method  /  Datatype JCoMetaData.TYPE_CHAR JCoMetaData.TYPE_INT1 JCoMetaData.TYPE_INT2 JCoMetaData.TYPE_INT JCoMetaData.TYPE_INT8 JCoMetaData.TYPE_UTCLONG JCoMetaData.TYPE_NUM JCoMetaData.TYPE_BCD JCoMetaData.TYPE_FLOAT JCoMetaData.TYPE_BYTE JCoMetaData.TYPE_DATE JCoMetaData.TYPE_TIME JCoMetaData.TYPE_STRING JCoMetaData.TYPE_XSTRING JCoMetaData.TYPE_DECF16 JCoMetaData.TYPE_DECF34JCoMetaData.TYPE_STRUCTUREJCoMetaData.TYPE_TABLE JCoMetaData.TYPE_ABAPOBJECT
java.lang.Object getValue() String Integer Integer Integer Long String String BigDecimal Double byte[] Date Date String byte[] BigDecimal BigDecimal JCoStructure JCoTable JCoAbapObject
String getString() String String String String String String String String String String (hexadecimal) String String String String (hexadecimal) String String String (structure name)String (table name) String (class name)
char getChar() char --- --- --- --- --- char --- --- --- --- --- char --- --- --- --- --- ---
char[] getCharArray() char[] --- --- --- --- --- char[] --- --- --- char[] char[] char[] --- --- --- --- --- ---
byte getByte() byte byte byte byte byte --- byte --- --- byte --- --- byte byte --- --- --- --- ---
short getShort() short short short short short --- short --- --- short --- --- short short --- --- --- --- ---
int getInt() int int int int int --- int --- --- int --- --- int int --- --- --- --- ---
long getLong() long long long long long long long --- --- long --- --- long long --- --- --- --- ---
java.math.BigInteger getBigInteger() BigInteger BigInteger BigInteger BigInteger BigInteger --- BigInteger BigInteger --- --- --- --- BigInteger --- --- --- --- --- ---
double getFloat() float float float float float --- float float float --- --- --- float --- --- --- --- --- ---
double getDouble() double double double double double --- double double double --- --- --- double --- --- --- --- --- ---
java.math.BigDecimal getBigDecimal() BigDecimal BigDecimal BigDecimal BigDecimal BigDecimal --- BigDecimal BigDecimal BigDecimal --- --- --- BigDecimal --- BigDecimal BigDecimal --- --- ---
java.util.Date getDate() Date --- --- --- --- Date --- --- --- --- Date Date Date --- --- --- --- --- ---
java.util.Date getTime() Date --- --- --- --- Date --- --- --- --- --- Date Date --- --- --- --- --- ---
byte[] getByteArray() byte[] --- --- --- --- --- --- --- --- byte[] --- --- byte[] byte[] byte[] byte[] --- --- ---
java.io.InputStream getBinaryStream() InputStream --- --- --- --- --- --- --- --- InputStream --- --- InputStream InputStream --- --- --- --- ---
java.io.Reader getCharacterStream() Reader --- --- --- --- --- --- --- --- --- --- --- Reader --- --- --- --- --- ---
com.sap.conn.jco.JCoStructure getStructure() --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- JCoStructure --- ---
com.sap.conn.jco.JCoTable getTable() --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- JCoTable ---
com.sap.conn.jco.JCoAbapObject getAbapObject() --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- JCoAbapObject
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears the record and resets everything to its initial state.
    Clones the record instance.
    int
    Copies the matching fields from the source record into this record.
    void
    fromJSON(Reader reader)
    Deserializes all values from a given JSON representation into the fields of the JCoRecord from a Reader.
    void
    Deserializes all values from a given JSON representation into the fields of the JCoRecord.
    getAbapObject(int index)
    Returns the value of the specified field as a JCoAbapObject.
    getAbapObject(String fieldName)
    Returns the value of the specified field as a JCoAbapObject.
    getBigDecimal(int index)
    Returns the value of the i'th field as a BigDecimal object.
    getBigDecimal(String fieldName)
    Returns the value of the i'th field as a BigDecimal object.
    getBigInteger(int index)
    Returns the value of the i'th field as a BigInteger object.
    getBigInteger(String fieldName)
    Returns the value of the i'th field as a BigInteger object.
    getBinaryStream(int index)
    Returns the value of the i'th field as a stream of uninterpreted bytes in form of a java.io.InputStream object.
    Returns the value of the named field as a stream of uninterpreted bytes in form of a java.io.InputStream object.
    byte
    getByte(int index)
    Returns the value of the i'th field as a byte.
    byte
    getByte(String fieldName)
    Returns the value of the named field as a byte.
    byte[]
    getByteArray(int index)
    Returns the value of the i'th field as a byte array.
    byte[]
    getByteArray(String fieldName)
    Returns the value of the named field as a byte array.
    char
    getChar(int index)
    Returns the value of the i'th field as a char.
    char
    getChar(String fieldName)
    Returns the value of the named field as a char.
    getCharacterStream(int index)
    Returns the value of the i'th field as a stream of characters in form of a java.io.Reader object.
    Returns the value of the named field as a stream of characters in form of a java.io.Reader object.
    char[]
    getCharArray(int index)
    Returns the value of the i'th field as a char array.
    char[]
    getCharArray(String fieldName)
    Returns the value of the named field as a char array.
    Returns the fully qualified name of the Java class whose instances are manufactured if the methods getValue(int index) or getValue(String fieldName) are called to retrieve a value from the field.
    getDate(int index)
    Returns the value of the i'th field as a Date object containing a date or time value.
    getDate(String fieldName)
    Returns the value of the named field as a Date object containing a date or time value.
    double
    getDouble(int index)
    Returns the value of the i'th field as a double.
    double
    getDouble(String fieldName)
    Returns the value of the named field as a double.
    getField(int index)
    Returns the i'th field.
    getField(String fieldName)
    Returns the named field.
    int
    Returns the number of fields in this container.
    Returns a JCoFieldIterator.
    float
    getFloat(int index)
    Returns the value of the i'th field as a float.
    float
    getFloat(String fieldName)
    Returns the value of the named field as a float.
    int
    getInt(int index)
    Returns the value of the i'th field as an integer.
    int
    getInt(String fieldName)
    Returns the value of the named field as an integer.
    long
    getLong(int index)
    Returns the value of the i'th field as a long.
    long
    getLong(String fieldName)
    Returns the value of the named field as a long.
    Returns the appropriated metadata object that was used for creation of this record.
    short
    getShort(int index)
    Returns the value of the i'th field as a short.
    short
    getShort(String fieldName)
    Returns the value of the named field as a short.
    getString(int index)
    Returns the value of the i'th field as a String.
    getString(String fieldName)
    Returns the value of the named field as a String object.
    getStructure(int index)
    Returns the value of the i'th field as a JCoStructure object.
    getStructure(String fieldName)
    Returns the value of the named field as a JCoStructure object.
    getTable(int index)
    Returns the value of the i'th field a JCoTable object.
    getTable(String fieldName)
    Returns the value of the named field as a JCoTable object.
    getTime(int index)
    Returns the value of the i'th field as a Date object containing a time value.
    getTime(String fieldName)
    Returns the value of the named field as a Date object containing a time value.
    getValue(int index)
    Generic method that returns the value of the i'th field as an object.
    getValue(String fieldName)
    Returns the value of the named field as an object.
    boolean
    isInitialized(int index)
    Checks whether this field has been initialized.
    boolean
    isInitialized(String fieldName)
    Checks whether this field has been initialized.
    Returns an Iterator.
    void
    setValue(int index, byte value)
    Sets the byte as the value for the i'th field.
    void
    setValue(int index, byte[] value)
    Sets the byte array as the value for the i'th field.
    void
    setValue(int index, char value)
    Sets the specified character as the field's value.
    void
    setValue(int index, char[] value)
    Sets the specified character array as the field's value.
    void
    setValue(int index, char[] value, int from, int length)
    Sets a sequence of characters from the specified character array as the field's value.
    void
    setValue(int index, double value)
    Sets the double as the value for the i'th field.
    void
    setValue(int index, float value)
    Sets the float as the value for the i'th field.
    void
    setValue(int index, int value)
    Sets the int as the value for the i'th field.
    void
    setValue(int index, long value)
    Sets the long as the value for the i'th field.
    void
    setValue(int index, short value)
    Sets the short as the value for the i'th field.
    void
    setValue(int index, JCoAbapObject abapObject)
    Sets the value of the specified field to be the given JCoAbapObject.
    void
    setValue(int index, JCoStructure value)
    Sets the structure as the value for the i'th field.
    void
    setValue(int index, JCoTable value)
    Sets the table as the value for the i'th field.
    void
    setValue(int index, Object value)
    Sets the object as the value for the i'th field.
    void
    setValue(int index, String value)
    Sets the specified string as the field's value.
    void
    setValue(int index, BigDecimal value)
    Sets the BigDecimal as the value for the i'th field.
    void
    setValue(int index, BigInteger value)
    Sets the BigInteger as the value for the i'th field.
    void
    setValue(int index, Date value)
    Sets the Date as the value for the i'th field.
    void
    setValue(String name, byte value)
    Sets the byte as the value for the named field.
    void
    setValue(String name, byte[] value)
    Sets the byte array as the value for the named field.
    void
    setValue(String name, char value)
    Sets the character as the value for the named field.
    void
    setValue(String name, char[] value)
    Sets the specified character array as the value for the named field.
    void
    setValue(String name, char[] value, int from, int length)
    Sets a sequence of characters from the specified character array as the value for the named field.
    void
    setValue(String name, double value)
    Sets the double as the value for the named field.
    void
    setValue(String name, float value)
    Sets the float as the value for the named field.
    void
    setValue(String name, int value)
    Sets the int as the value for the named field.
    void
    setValue(String name, long value)
    Sets the long as the value for the named field.
    void
    setValue(String name, short value)
    Sets the short as the value for the named field.
    void
    setValue(String fieldName, JCoAbapObject abapObject)
    Sets the value of the specified field to be the given JCoAbapObject.
    void
    Sets the structure as the value for the named field.
    void
    setValue(String name, JCoTable value)
    Sets the table as the value for the named field.
    void
    setValue(String name, Object value)
    Sets the object as the value for the named field.
    void
    setValue(String name, String value)
    Sets the string as the value for the named field.
    void
    setValue(String name, BigDecimal value)
    Sets the BigDecimal as the value for the named field.
    void
    setValue(String name, BigInteger value)
    Sets the BigInteger as the value for the named field.
    void
    setValue(String name, Date value)
    Sets the Date as the value for the named field.
    Returns the whole record in a JSON representation.
    void
    toJSON(Writer writer)
    Serializes the whole record in a JSON representation to a Writer.
    Returns the whole record in XML format.
    toXML(int index)
    Returns the value of the i'th field as an XML string.
    toXML(String fieldName)
    Returns the value of the named field as an XML string.
    write(int index, Writer writer)
    Writes the field specified by the index to the provided Writer.
    write(String fieldName, Writer writer)
    Writes the named field to the provided Writer.

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Method Details

    • getMetaData

      JCoMetaData getMetaData()
      Returns the appropriated metadata object that was used for creation of this record.
      Returns:
      JCoMetaData instance of the appropriated metadata object
    • clear

      void clear()
      Clears the record and resets everything to its initial state.
    • clone

      Object clone()
      Clones the record instance.
      Returns:
      a cloned instance of JCorecord
    • copyFrom

      int copyFrom(JCoRecord source)
      Copies the matching fields from the source record into this record. Data fields are considered to be equivalent if the name and type of two fields match. The data will be copied and converted as best as can, i.e. strings will be cut off if the source field is longer than the destination field, or they will be filled with spaces if the source is shorter than the destination, etc. If a single conversion fails, the whole copy operation will fail and the record will be left untouched. If the JCoRecord is a JCoTable, then the data from the source will be appended. This means that, if the source is a JCoStructure a single row will be appended to the end of the JCoTable, and if the source is a JCoTable all its rows will be appended to the end of the JCoTable.
      If the JCoRecord is a JCoStructure or a JCoParameterList the data will be overwritten by the source. In case that the source is a JCoTable, the data is copied from the current row, i.e. the row the row pointer points to.
      Parameters:
      source - the source record from which to copy the data
      Returns:
      the number of matching fields (columns)
      Throws:
      JCoRuntimeException - if something went wrong
    • getFieldCount

      int getFieldCount()
      Returns the number of fields in this container.
      Returns:
      the number of fields
    • getField

      JCoField getField(int index)
      Returns the i'th field.
      Parameters:
      index - the index of the field
      Returns:
      the field for the given index
      Since:
      JCo 3.1.0
    • getField

      JCoField getField(String fieldName)
      Returns the named field.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field with the given name
      Since:
      JCo 3.1.0
    • getValue

      Object getValue(int index)
      Generic method that returns the value of the i'th field as an object.
      Depending on the type of the field the method returns the following object:

      Field datatype Object
      JCoMetaData.TYPE_CHAR java.lang.String
      JCoMetaData.TYPE_INT1 java.lang.Integer
      JCoMetaData.TYPE_INT2 java.lang.Integer
      JCoMetaData.TYPE_INT java.lang.Integer
      JCoMetaData.TYPE_INT8 java.lang.Long
      JCoMetaData.TYPE_NUM java.lang.String
      JCoMetaData.TYPE_BCD java.math.BigDecimal
      JCoMetaData.TYPE_FLOAT java.lang.Double
      JCoMetaData.TYPE_BYTE byte[]
      JCoMetaData.TYPE_UTCLONG java.lang.String
      JCoMetaData.TYPE_DATE java.util.Date
      JCoMetaData.TYPE_TIME java.util.Date
      JCoMetaData.TYPE_STRING java.lang.String
      JCoMetaData.TYPE_XSTRING byte[]
      JCoMetaData.TYPE_DECF16 java.math.BigDecimal
      JCoMetaData.TYPE_DECF34 java.math.BigDecimal
      JCoMetaData.TYPE_STRUCTURE com.sap.conn.jco.JCoStructure
      JCoMetaData.TYPE_TABLE com.sap.conn.jco.JCoTable
      JCoMetaData.TYPE_ABAPOBJECTcom.sap.conn.jco.JCoAbapObject
      Parameters:
      index - the field index
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to an object
      IndexOutOfBoundsException - thrown if the index is out of range
    • getValue

      Object getValue(String fieldName)
      Returns the value of the named field as an object.
      Depending on the type of the field the method returns the following object:

      Field datatype Object
      JCoMetaData.TYPE_CHAR java.lang.String
      JCoMetaData.TYPE_INT1 java.lang.Integer
      JCoMetaData.TYPE_INT2 java.lang.Integer
      JCoMetaData.TYPE_INT java.lang.Integer
      JCoMetaData.TYPE_INT8 java.lang.Long
      JCoMetaData.TYPE_NUM java.lang.String
      JCoMetaData.TYPE_BCD java.math.BigDecimal
      JCoMetaData.TYPE_FLOAT java.lang.Double
      JCoMetaData.TYPE_BYTE byte[]
      JCoMetaData.TYPE_UTCLONG java.lang.String
      JCoMetaData.TYPE_DATE java.util.Date
      JCoMetaData.TYPE_TIME java.util.Date
      JCoMetaData.TYPE_STRING java.lang.String
      JCoMetaData.TYPE_XSTRING byte[]
      JCoMetaData.TYPE_DECF16 java.math.BigDecimal
      JCoMetaData.TYPE_DECF34 java.math.BigDecimal
      JCoMetaData.TYPE_STRUCTURE com.sap.conn.jco.JCoStructure
      JCoMetaData.TYPE_TABLE com.sap.conn.jco.JCoTable
      JCoMetaData.TYPE_ABAPOBJECTcom.sap.conn.jco.JCoAbapObject
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to an object
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getString

      String getString(int index)
      Returns the value of the i'th field as a String.

      Note: If the data type of the field is TYPE_CHAR, this method trims all trailing blanks from the returned string. For the data types TYPE_DATE and TYPE_TIME the returned date and time strings are formatted using the patterns "yyyy-MM-dd" and "HH:mm:ss", respectively.

      Parameters:
      index - the index of the field
      Returns:
      the field's value as a String object
      Throws:
      ConversionException - thrown if the value could not be converted to a String
      IndexOutOfBoundsException - thrown if the index is out of range
    • getString

      String getString(String fieldName)
      Returns the value of the named field as a String object.

      Note: If the datatype of the field is TYPE_CHAR, this method trims all trailing blanks from the returned string. For the datatypes TYPE_DATE and TYPE_TIME the returned date and time strings are formatted using the patterns "yyyy-MM-dd" and "HH:mm:ss", respectively.

      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a String
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getChar

      char getChar(int index)
      Returns the value of the i'th field as a char.
      Parameters:
      index - the index of the field
      Returns:
      the character of the field or ' ' if the field was empty.
      Throws:
      ConversionException - thrown if the value could not be converted to a char, i.e. if the underlying field contained more than one character
      IndexOutOfBoundsException - thrown if the index is out of range
    • getChar

      char getChar(String fieldName)
      Returns the value of the named field as a char.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a char
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getCharArray

      char[] getCharArray(int index)
      Returns the value of the i'th field as a char array.

      Note: In contrast to getString(int index) this method does not trim trailing blanks and it does not format date and time fields with : or - separator chars.

      Parameters:
      index - the field index
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a char array
      IndexOutOfBoundsException - thrown if the index is out of range
    • getCharArray

      char[] getCharArray(String fieldName)
      Returns the value of the named field as a char array.

      Note: In contrast to getString(String fieldName) this method does not trim trailing blanks and it does not format date and time fields with : or - separator chars.

      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a char array
      Throws:
      ConversionException - thrown if the value could not be converted to a char array
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getByte

      byte getByte(int index)
      Returns the value of the i'th field as a byte.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a byte
      Throws:
      ConversionException - thrown if the value could not be converted to a byte
      IndexOutOfBoundsException - thrown if the index is out of range
    • getByte

      byte getByte(String fieldName)
      Returns the value of the named field as a byte.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a byte
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getByteArray

      byte[] getByteArray(int index)
      Returns the value of the i'th field as a byte array.
      Parameters:
      index - the field index
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a byte array
      IndexOutOfBoundsException - thrown if the index is out of range
    • getByteArray

      byte[] getByteArray(String fieldName)
      Returns the value of the named field as a byte array.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a byte array
      Throws:
      ConversionException - thrown if the value could not be converted to a byte array
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getShort

      short getShort(int index)
      Returns the value of the i'th field as a short.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a short
      Throws:
      ConversionException - thrown if the value could not be converted to a short
    • getShort

      short getShort(String fieldName)
      Returns the value of the named field as a short.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a short
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getInt

      int getInt(int index)
      Returns the value of the i'th field as an integer.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as an integer
      Throws:
      ConversionException - thrown if the value could not be converted to an int
    • getInt

      int getInt(String fieldName)
      Returns the value of the named field as an integer.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to an int
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getLong

      long getLong(int index)
      Returns the value of the i'th field as a long.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a long
      Throws:
      ConversionException - thrown if the value could not be converted to an long
      IndexOutOfBoundsException - thrown if the index is out of range
    • getLong

      long getLong(String fieldName)
      Returns the value of the named field as a long.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a long
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getFloat

      float getFloat(int index)
      Returns the value of the i'th field as a float. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. Double value converted to float and back to double may also differ from original value. Please also don't mix those methods, because i.e. setting your values with setValue(float value, ...) and getting them using getDouble(...) may return not the same value.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a float
      Throws:
      ConversionException - thrown if the value could not be converted to a float
    • getFloat

      float getFloat(String fieldName)
      Returns the value of the named field as a float. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. Double value converted to float and back to double may also differ from original value. Please also don't mix those methods, because i.e. setting your values with setValue(float value, ...) and getting them using getDouble(...) may return not the same value.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a float
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getDouble

      double getDouble(int index)
      Returns the value of the i'th field as a double.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a double
      Throws:
      ConversionException - thrown if the value could not be converted to a double
      IndexOutOfBoundsException - thrown if the index is out of range
    • getDouble

      double getDouble(String fieldName)
      Returns the value of the named field as a double.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the specified field
      Throws:
      ConversionException - thrown if the value could not be converted to a double
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getBigInteger

      BigInteger getBigInteger(int index)
      Returns the value of the i'th field as a BigInteger object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a BigInteger object
      Throws:
      ConversionException - thrown if the value could not be converted to a BigInteger
      IndexOutOfBoundsException - thrown if the index is out of range
    • getBigInteger

      BigInteger getBigInteger(String fieldName)
      Returns the value of the i'th field as a BigInteger object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a BigInteger object
      Throws:
      ConversionException - thrown if the value could not be converted to a BigInteger
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getBigDecimal

      BigDecimal getBigDecimal(int index)
      Returns the value of the i'th field as a BigDecimal object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a BigDecimal object
      Throws:
      ConversionException - thrown if the value could not be converted to a BigDecimal
      IndexOutOfBoundsException - thrown if the index is out of range
    • getBigDecimal

      BigDecimal getBigDecimal(String fieldName)
      Returns the value of the i'th field as a BigDecimal object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a BigDecimal object
      Throws:
      ConversionException - thrown if the value could not be converted to a BigDecimal
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getDate

      Date getDate(int index)
      Returns the value of the i'th field as a Date object containing a date or time value. In case that the field is of TYPE_UTCLONG the returned Date object contains a full timestamp.
      Note: A returned Date object containing a timestamp has a reduced precision with the split seconds from the TYPE_UTCLONG field always being rounded down to milliseconds.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a Date object containing a date, time or timestamp value
      Throws:
      ConversionException - thrown if the value could not be converted to a Date
      IndexOutOfBoundsException - thrown if the index is out of range
    • getDate

      Date getDate(String fieldName)
      Returns the value of the named field as a Date object containing a date or time value. In case that the field is of TYPE_UTCLONG the returned Date object contains a full timestamp.
      Note: A returned Date object containing a timestamp has a reduced precision with the split seconds from the TYPE_UTCLONG field always being rounded down to milliseconds.
      Parameters:
      fieldName - the name of the field
      Returns:
      the specified field's value as a Date object containing a date, time or timestamp value
      Throws:
      ConversionException - thrown if the value could not be converted to a Date
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getTime

      Date getTime(int index)
      Returns the value of the i'th field as a Date object containing a time value. In case that the field is of TYPE_UTCLONG the returned Date object contains a full timestamp.
      Note: A returned Date object containing a timestamp has a reduced precision with the split seconds from the TYPE_UTCLONG field always being rounded down to milliseconds.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a Date object containing a time or timestamp value
      Throws:
      ConversionException - thrown if the value could not be converted to a Date
      IndexOutOfBoundsException - thrown if the index is out of range
    • getTime

      Date getTime(String fieldName)
      Returns the value of the named field as a Date object containing a time value. In case that the field is of TYPE_UTCLONG the returned Date object contains a full timestamp.
      Note: A returned Date object containing a timestamp has a reduced precision with the split seconds from the TYPE_UTCLONG field always being rounded down to milliseconds.
      Parameters:
      fieldName - the name of the field
      Returns:
      the specified field's value as a Date object containing a time or timestamp value
      Throws:
      ConversionException - thrown if the value could not be converted to a Date
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getBinaryStream

      InputStream getBinaryStream(int index)
      Returns the value of the i'th field as a stream of uninterpreted bytes in form of a java.io.InputStream object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a java.io.InputStream
      Throws:
      ConversionException - thrown if the value could not be converted to a java.io.InputStream
      IndexOutOfBoundsException - thrown if the index is out of range
    • getBinaryStream

      InputStream getBinaryStream(String fieldName)
      Returns the value of the named field as a stream of uninterpreted bytes in form of a java.io.InputStream object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a java.io.InputStream
      Throws:
      ConversionException - thrown if the value could not be converted to a java.io.InputStream
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getCharacterStream

      Reader getCharacterStream(int index)
      Returns the value of the i'th field as a stream of characters in form of a java.io.Reader object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a java.io.Reader
      Throws:
      ConversionException - thrown if the value could not be converted to a java.io.Reader
      IndexOutOfBoundsException - thrown if the index is out of range
    • getCharacterStream

      Reader getCharacterStream(String fieldName)
      Returns the value of the named field as a stream of characters in form of a java.io.Reader object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a java.io.Reader
      Throws:
      ConversionException - thrown if the value could not be converted to a java.io.Reader
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getStructure

      JCoStructure getStructure(int index)
      Returns the value of the i'th field as a JCoStructure object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a JCoStructure
      Throws:
      ConversionException - thrown if the value could not be converted to a JCoStructure
      IndexOutOfBoundsException - thrown if the index is out of range
      See Also:
    • getStructure

      JCoStructure getStructure(String fieldName)
      Returns the value of the named field as a JCoStructure object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a JCoStructure
      Throws:
      ConversionException - thrown if the value could not be converted to a JCoStructure
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getTable

      JCoTable getTable(int index)
      Returns the value of the i'th field a JCoTable object.
      Parameters:
      index - the index of the field
      Returns:
      the field's value as a JCoTable
      Throws:
      ConversionException - thrown if the value could not be converted to a JCoTable
      IndexOutOfBoundsException - thrown if the index is out of range
      See Also:
    • getTable

      JCoTable getTable(String fieldName)
      Returns the value of the named field as a JCoTable object.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field's value as a JCoTable
      Throws:
      ConversionException - thrown if the value could not be converted to a JCoTable
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • getAbapObject

      JCoAbapObject getAbapObject(int index)
      Returns the value of the specified field as a JCoAbapObject.
      Parameters:
      index - the index of the field
      Returns:
      the value of the field as a JCoAbapObject
    • getAbapObject

      JCoAbapObject getAbapObject(String fieldName)
      Returns the value of the specified field as a JCoAbapObject.
      Parameters:
      fieldName - the name of the field
      Returns:
      the value of the field as a JCoAbapObject
    • getClassNameOfValue

      String getClassNameOfValue(String fieldName)
      Returns the fully qualified name of the Java class whose instances are manufactured if the methods getValue(int index) or getValue(String fieldName) are called to retrieve a value from the field.
      Parameters:
      fieldName - the name of the field
      Returns:
      the fully-qualified class name of the value object
      Throws:
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, String value)
      Sets the specified string as the field's value. To set a value back to its initial type specific content pass "", i.e. an empty string, or null.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
    • setValue

      void setValue(String name, String value)
      Sets the string as the value for the named field. To set a value back to its initial type specific setting pass "", i.e. an empty string, or null
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, char value)
      Sets the specified character as the field's value.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, char value)
      Sets the character as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, char[] value)
      Sets the specified character array as the field's value.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, char[] value)
      Sets the specified character array as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, char[] value, int from, int length)
      Sets a sequence of characters from the specified character array as the field's value.
      Parameters:
      value - the array to copy the character sequence from for setting the field
      index - the index of the field
      from - index of the first character in the char[] to copy from
      length - the number of characters to copy
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, char[] value, int from, int length)
      Sets a sequence of characters from the specified character array as the value for the named field.
      Parameters:
      value - the array to copy the character sequence from for setting the field
      name - the name of the field to set
      from - index of the first character in the char[] to copy from
      length - the number of characters to copy
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, Date value)
      Sets the Date as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
      Since:
      JCo 3.1.7
    • setValue

      void setValue(String name, Date value)
      Sets the Date as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
      Since:
      JCo 3.1.7
    • setValue

      void setValue(int index, short value)
      Sets the short as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, short value)
      Sets the short as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, int value)
      Sets the int as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, int value)
      Sets the int as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, long value)
      Sets the long as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, long value)
      Sets the long as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, float value)
      Sets the float as the value for the i'th field. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. A double value converted to float and back to double may differ from the original value. Please also don't mix those methods, because e.g. setting your values with setValue(float value, ...) and getting them using getDouble(...) may not return the same value.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, float value)
      Sets the float as the value for the named field. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. A double value converted to float and back to double may also differ from the original value. Please also don't mix those methods, because e.g. setting your values with setValue(float value, ...) and getting them using getDouble(...) may not return the same value.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, double value)
      Sets the double as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, double value)
      Sets the double as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, byte value)
      Sets the byte as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, byte value)
      Sets the byte as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, byte[] value)
      Sets the byte array as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, byte[] value)
      Sets the byte array as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, BigDecimal value)
      Sets the BigDecimal as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, BigDecimal value)
      Sets the BigDecimal as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, BigInteger value)
      Sets the BigInteger as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
      Since:
      JCo 3.1.7
    • setValue

      void setValue(String name, BigInteger value)
      Sets the BigInteger as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
      Since:
      JCo 3.1.7
    • setValue

      void setValue(int index, JCoStructure value)
      Sets the structure as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, JCoStructure value)
      Sets the structure as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, JCoTable value)
      Sets the table as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, JCoTable value)
      Sets the table as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • setValue

      void setValue(int index, JCoAbapObject abapObject)
      Sets the value of the specified field to be the given JCoAbapObject.
      Parameters:
      index - the index of the field
      abapObject - the value, a JCoAbapObject
    • setValue

      void setValue(String fieldName, JCoAbapObject abapObject)
      Sets the value of the specified field to be the given JCoAbapObject.
      Parameters:
      fieldName - the name of the field
      abapObject - the value, a JCoAbapObject
    • setValue

      void setValue(int index, Object value)
      Sets the object as the value for the i'th field.
      Parameters:
      value - the value to set for the field
      index - the index of the field
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      IndexOutOfBoundsException - thrown if the index is out of range
    • setValue

      void setValue(String name, Object value)
      Sets the object as the value for the named field.
      Parameters:
      value - the value to set for the field
      name - the name of the field to set
      Throws:
      ConversionException - thrown if the value could not be converted to its internal representation
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • isInitialized

      boolean isInitialized(int index)
      Checks whether this field has been initialized.
      Parameters:
      index - of field that will be checked
      Returns:
      true if the field has been initialized, false otherwise
      Throws:
      IndexOutOfBoundsException - thrown if the index is out of range
    • isInitialized

      boolean isInitialized(String fieldName)
      Checks whether this field has been initialized.
      Parameters:
      fieldName - of field that will be checked
      Returns:
      true if the field has been initialized, false otherwise
      Throws:
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • toXML

      String toXML(int index)
      Returns the value of the i'th field as an XML string.
      Its format is depending on the used interface implementation, and is not guaranteed to remain stable. This method is meant to be used as a more powerful toString() variant, which allows to view the record field within XML viewing tools, and thus making it easier to have a closer look at single parameter values. It is not supposed to be used in productive scenarios.
      Parameters:
      index - the index of the field
      Returns:
      the field of the record in XML format
      Throws:
      ConversionException - thrown if the value could not be converted to a String
      IndexOutOfBoundsException - thrown if the index is out of range
    • toXML

      String toXML(String fieldName)
      Returns the value of the named field as an XML string.
      Its format is depending on the used interface implementation, and is not guaranteed to remain stable. This method is meant to be used as a more powerful toString() variant, which allows to view the record field within XML viewing tools, and thus making it easier to have a closer look at single parameter values. It is not supposed to be used in productive scenarios.
      Parameters:
      fieldName - the name of the field
      Returns:
      the field of the record in XML format
      Throws:
      ConversionException - thrown if the value could not be converted to a String
      JCoRuntimeException - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist
    • toXML

      String toXML()
      Returns the whole record in XML format.
      Its format is depending on the used interface implementation, and is not guaranteed to remain stable. This method is meant to be used as a more powerful toString() variant, which allows to view the record within XML viewing tools, and thus making it easier to have a closer look at single parameter values. It is not supposed to be used in productive scenarios.
      Returns:
      the record in XML format
      Throws:
      ConversionException - thrown if the value could not be converted to a String
    • toJSON

      String toJSON()
      Returns the whole record in a JSON representation.

      The format is the one as produced by a Simple Transformation for the corresponding data type in ABAP.

      Returns:
      the record in as JSON representation
      Since:
      JCo 3.1.0
    • toJSON

      void toJSON(Writer writer) throws IOException
      Serializes the whole record in a JSON representation to a Writer.

      Note: JCo will not close the writer. The format is the one as produced by a Simple Transformation for the corresponding data type in ABAP.

      Parameters:
      writer - a writer instance to which the document is written
      Throws:
      IOException - if the underlying writer throws an IOException
      Since:
      JCo 3.1.0
    • fromJSON

      void fromJSON(Reader reader)
      Deserializes all values from a given JSON representation into the fields of the JCoRecord from a Reader.

      Note: JCo will not close the reader.

      Parameters:
      reader - Reader to read the values from.
      Since:
      JCo 3.1.0
    • fromJSON

      void fromJSON(String data)
      Deserializes all values from a given JSON representation into the fields of the JCoRecord.
      Parameters:
      data - the input JSON as a String
      Since:
      JCo 3.1.0
    • write

      Writer write(int index, Writer writer) throws IOException
      Writes the field specified by the index to the provided Writer.
      The method writes out the internal char array representation avoiding temporary objects. The output depends on the field type:

      Field data type Output to the Writer instance
      JCoMetaData.TYPE_CHAR char buffer without trailing spaces
      JCoMetaData.TYPE_DATE chars in format yyyyMMdd
      JCoMetaData.TYPE_TIME chars in format HHmmss
      JCoMetaData.TYPE_UTCLONG chars in format yyyy-MM-ddTHH:mm:ss.SSSSSS
      JCoMetaData.TYPE_NUM char buffer
      JCoMetaData.TYPE_STRING string chars buffer
      JCoMetaData.TYPE_XSTRING hexadecimal representation of the xstring byte buffer
      JCoMetaData.TYPE_BYTE hexadecimal representation of the byte buffer
      JCoMetaData.TYPE_BCD char based representation of the number
      JCoMetaData.TYPE_FLOAT char based representation of the number
      JCoMetaData.TYPE_INT1 char based representation of the number
      JCoMetaData.TYPE_INT2 char based representation of the number
      JCoMetaData.TYPE_INT char based representation of the number
      JCoMetaData.TYPE_INT8 char based representation of the number
      JCoMetaData.TYPE_DECF16 char based representation of the number
      JCoMetaData.TYPE_DECF34 char based representation of the number
      JCoMetaData.TYPE_STRUCTURE not possible, exception will be thrown
      JCoMetaData.TYPE_TABLE not possible, exception will be thrown
      JCoMetaData.TYPE_ABAPOBJECTnot possible, exception will be thrown
      Parameters:
      index - of the field that should be written to out
      writer - writer instance used to write
      Returns:
      the instance passed as parameter writer
      Throws:
      ConversionException - if the field is complex
      JCoRuntimeException - with the key JCoException.JCO_ERROR_FIELD_NOT_FOUND if the field with the name is not available
      IOException - if writer throws IOException
      Since:
      JCo 3.0.7
    • write

      Writer write(String fieldName, Writer writer) throws IOException
      Writes the named field to the provided Writer.
      The method writes out the internal char array representation avoiding temporary objects. The output depends on the field type:

      Field data type Output to the Writer instance
      JCoMetaData.TYPE_CHAR char buffer without trailing spaces
      JCoMetaData.TYPE_DATE chars in format yyyyMMdd
      JCoMetaData.TYPE_TIME chars in format HHmmss
      JCoMetaData.TYPE_UTCLONG chars in format yyyy-MM-ddTHH:mm:ss.SSSSSS
      JCoMetaData.TYPE_NUM char buffer
      JCoMetaData.TYPE_STRING string chars buffer
      JCoMetaData.TYPE_XSTRING hexadecimal representation of the xstring byte buffer
      JCoMetaData.TYPE_BYTE hexadecimal representation of the byte buffer
      JCoMetaData.TYPE_BCD char based representation of the number
      JCoMetaData.TYPE_FLOAT char based representation of the number
      JCoMetaData.TYPE_INT1 char based representation of the number
      JCoMetaData.TYPE_INT2 char based representation of the number
      JCoMetaData.TYPE_INT char based representation of the number
      JCoMetaData.TYPE_INT8 char based representation of the number
      JCoMetaData.TYPE_DECF16 char based representation of the number
      JCoMetaData.TYPE_DECF34 char based representation of the number
      JCoMetaData.TYPE_STRUCTURE not possible, exception will be thrown
      JCoMetaData.TYPE_TABLE not possible, exception will be thrown
      JCoMetaData.TYPE_ABAPOBJECTnot possible, exception will be thrown
      Parameters:
      fieldName - name of the field
      writer - write that is used to write operation
      Returns:
      the instance passed as parameter writer
      Throws:
      ConversionException - if the field is complex
      JCoRuntimeException - with the key JCoException.JCO_ERROR_FIELD_NOT_FOUND if the field with the name is not available
      IOException - if writer throws IOException
      Since:
      JCo 3.0.7
      See Also:
    • iterator

      Iterator<JCoField> iterator()
      Returns an Iterator.

      Note: Method remove() is not supported.

      Specified by:
      iterator in interface Iterable<JCoField>
      Returns:
      an iterator over all fields of this container
    • getFieldIterator

      JCoFieldIterator getFieldIterator()
      Returns a JCoFieldIterator.
      Returns:
      an iterator over all fields of this container