com.sap.conn.jco

## Interface JCoTable

- All Superinterfaces:
    Cloneable, Iterable<JCoField>, JCoRecord, Serializable

      public interface JCoTable
      extends JCoRecord

  Interface that describes internal tables used in the parameter lists of function modules. It is a data container, which can have multiple rows of the same fields.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendRow()` Appends a new row at the end of the table.
    `void` | `appendRows(int numRows)` Appends the specified number of empty rows at the end of the table.
    `void` | `clear()` Clears the table by deleting all rows.
    `void` | `deleteAllRows()` Deletes all rows of table.
    `void` | `deleteRow()` Deletes the current row.
    `void` | `deleteRow(int pos)` Deletes the row at the specified position.
    `void` | `ensureBufferCapacity(int minRows)` Checks the size of the internal buffer and allocates new memory, if necessary, and initializes the rows.
    `void` | `firstRow()` Moves the row pointer to the first row.
    `int` | `getNumColumns()` Returns the number of columns in this table.
    `int` | `getNumRows()` Returns the number of rows.
    `JCoRecordFieldIterator` | `getRecordFieldIterator()` Returns an iterator over JCoRecordFieldIterator.
    `JCoRecordMetaData` | `getRecordMetaData()` Returns the appropriated metadata object, that was used for the creation of this table.
    `int` | `getRow()` Returns the current row number.
    `void` | `insertRow(int pos)` Inserts a new empty row before the specified position.
    `boolean` | `isEmpty()` Checks whether the table is empty.
    `boolean` | `isFirstRow()` Retrieves whether the row pointer is on the first row of this table.
    `boolean` | `isLastRow()` Retrieves whether the row pointer is on the last row of this table.
    `void` | `lastRow()` Moves the row pointer to the last row.
    `boolean` | `nextRow()` Moves the row pointer to the next row.
    `boolean` | `previousRow()` Moves the row pointer to the previous row.
    `void` | `setRow(int pos)` Sets the row pointer to the specified position. The first row is at position 0, the second is at position 1, and so on.
    `void` | `trimToRows()` Trims the capacity of this table to be the table's current number of rows.

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

      `clone, copyFrom, fromJSON, fromJSON, getAbapObject, getAbapObject, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBinaryStream, getBinaryStream, getByte, getByte, getByteArray, getByteArray, getChar, getChar, getCharacterStream, getCharacterStream, getCharArray, getCharArray, getClassNameOfValue, getDate, getDate, getDouble, getDouble, getField, getField, getFieldCount, getFieldIterator, getFloat, getFloat, getInt, getInt, getLong, getLong, getMetaData, getShort, getShort, getString, getString, getStructure, getStructure, getTable, getTable, getTime, getTime, getValue, getValue, isInitialized, isInitialized, iterator, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, toJSON, toJSON, toXML, toXML, toXML, write, write`

- - ### Method Detail

    - #### getRecordMetaData

          JCoRecordMetaData getRecordMetaData()

      Returns the appropriated metadata object, that was used for the creation of this table.
      Returns:
        JCoRecordMetaData instance of the appropriated metadata object

    - #### ensureBufferCapacity

          void ensureBufferCapacity(int minRows)

      Checks the size of the internal buffer and allocates new memory, if necessary, and initializes the rows.
      Parameters:
        `minRows` - the minimum number of rows to allocate memory for

    - #### trimToRows

          void trimToRows()

      Trims the capacity of this table to be the table's current number of rows. An application can use this operation to minimize the storage requirements of this table.

      Note: The reallocation of the internal table buffer increases the temporary memory consumption.

    - #### isEmpty

          boolean isEmpty()

      Checks whether the table is empty.
      Returns:
        `true` if the table is empty, `false` otherwise.

    - #### isFirstRow

          boolean isFirstRow()

      Retrieves whether the row pointer is on the first row of this table.
      Returns:
        `true` if the row pointer is on the first row, `false` otherwise.

    - #### isLastRow

          boolean isLastRow()

      Retrieves whether the row pointer is on the last row of this table.
      Returns:
        `true` if the row pointer is on the last row, `false` otherwise.

    - #### getNumRows

          int getNumRows()

      Returns the number of rows.
      Returns:
        the number of rows

    - #### getNumColumns

          int getNumColumns()

      Returns the number of columns in this table.
      This is just a convenience method and returns the same value as `getFieldCount()`.
      Returns:
        the number of columns in this table
      See Also:
        `JCoRecord.getFieldCount()`

    - #### clear

          void clear()

      Clears the table by deleting all rows.
      Specified by:
        `clear` in interface `JCoRecord`

    - #### deleteAllRows

          void deleteAllRows()

      Deletes all rows of table.
      This is just a convenience method and is the same as calling method `clear()`.
      See Also:
        `clear()`

    - #### firstRow

          void firstRow()

      Moves the row pointer to the first row.

    - #### lastRow

          void lastRow()

      Moves the row pointer to the last row.

    - #### nextRow

          boolean nextRow()

      Moves the row pointer to the next row. Used to loop through table rows, e.g.

           if (table.getNumRows()>0)
           {
               table.firstRow();
               do
               {
                 ...
               }
               while(table.nextRow());
           }

      Returns:
        `false` if the row pointer is already positioned on the last row of the table, `true` otherwise

    - #### previousRow

          boolean previousRow()

      Moves the row pointer to the previous row. Used to loop through table rows, e.g.

           if (table.getNumRows()>0)
           {
               table.lastRow();
               do
               {
                 ...
               }
               while(table.previousRow());
           }

      Returns:
        `false` if the row pointer is already positioned on the first row of the table, `true` otherwise

    - #### getRow

          int getRow()

      Returns the current row number.
      The first row number is 0, the second is 1, and so on.
      Returns:
        the current row number

    - #### setRow

          void setRow(int pos)

      Sets the row pointer to the specified position.
      The first row is at position 0, the second is at position 1, and so on. This method is useful for looping through the table rows, e.g.

               int numRows=table.getNumRows();
               for (int irow=0; i<numRows; irow++)
               {
                   table.setRow(irow);
                   ...
               }

      Note: If a negative value is specified, the row pointer is set to position 0, and if the specified value is greater than the number of rows, it is moved to the last row.
      Parameters:
        `pos` - the position to set the row pointer to

    - #### appendRow

          void appendRow()

      Appends a new row at the end of the table.
      The row pointer is positioned on the newly appended row.

    - #### appendRows

          void appendRows(int numRows)

      Appends the specified number of empty rows at the end of the table.
      The row pointer is positioned on the first newly appended row.
      Parameters:
        `numRows` - the number of empty rows to append

    - #### insertRow

          void insertRow(int pos)

      Inserts a new empty row before the specified position.
      The row pointer is positioned on the newly inserted row.
      Parameters:
        `pos` - the index of the row, before which the new row shall be inserted

    - #### deleteRow

          void deleteRow()

      Deletes the current row.

      Note:The row pointer is left untouched unless it would point to a row that would have become invalid due to the deletion operation. In this case the row pointer will be repositioned to the row at `(getNumRows() - 1)`.

    - #### deleteRow

          void deleteRow(int pos)

      Deletes the row at the specified position.

      Note:The row pointer is left untouched unless it would point to a row that would have become invalid due to the deletion operation. In this case the row pointer will be repositioned to the row at `(getNumRows() - 1)`.

      Example:
      If the row pointer points to row 10, it will still point to row 10 after the deletion operation, even if a row with pos < 10 was deleted.

      Parameters:
        `pos` - the index of the row to delete

    - #### getRecordFieldIterator

          JCoRecordFieldIterator getRecordFieldIterator()

      Returns an iterator over JCoRecordFieldIterator.
      Returns:
        an iterator over all fields of the current table row
      See Also:
        `JCoRecord.iterator()`

Copyright © 2018 SAP. All Rights Reserved.