SEDRIS Reference Manual
APPENDIX A - LEVEL 0 READ and WRITE API
Functions
SE PutElementOfDataTableSubExtent
extern SE_Status_Code
SE_PutElementOfDataTableSubExtent
(
SE_Object data_table, (notes)
constSE_Data_Table_Sub_Extent *extents_ptr, (notes)
SE_Integer_Positive table_prop_descript_number, (notes)
SE_Integer_Unsigned byte_count, (notes)
SE_Property_Data_Value_Ptr data_in_ptr (notes)
);

Definition

Copies the selected element from a buffer into the selected area of interest of the given <Data Table>.

For each cell in the specified area of interest in the given <Data Table>, creates exactly one element from the given data_in_ptr. (To do this for the entire <Data Table> rather than a subregion, see SE_PutElementOfDataTable(). To create multiple elements per cell, see SE_PutDataTableSubExtent()).

The transmittal whose object is to be edited must be explicitly opened in UPDATE mode for this operation to succeed.


Returns

SE_STAT_CODE_SUCCESS and the cells are created as specified, if valid parameters were passed in and all operations succeeded.
SE_STAT_CODE_NULL_REQUIRED_PARAMETER and data_table is unaffected, if extents_ptr is NULL, table_prop_descript_number is zero (0), or byte_count is zero (0).
SE_STAT_CODE_INVALID_OR_NULL_OBJECT and data_table is unaffected, if data_table is not a handle to a valid, active (i.e., unfreed), saved <Data Table> instance.
SE_STAT_CODE_UNRESOLVED_OBJECT and data_table is unaffected, if data_table is an unresolved object.
SE_STAT_CODE_INVALID_ACCESS_MODE and data_table is unaffected, if the transmittal containing data_table was opened in read-only mode.
SE_STAT_CODE_FAILURE and data_table is unaffected, if any of the following conditions are encountered:
  1. the given table_prop_descript_number doesn't form a valid <Data Table> signature,
  2. data_table doesn't belong to an open transmittal,
  3. data_table is a <Property Grid> with data_present set to SE_FALSE (note that the default value of this field is SE_TRUE, if the user has not yet set the fields of the <Property Grid>)
  4. byte_count is not correct for the given table_prop_descript_number
  5. the API implementation specified does not provide this function in its shared library, and dynamic binding is specified at compile time.
  6. if the following conditions hold for a cell data value X:
    1. X corresponds to the kth <Table Property Description> of the <Data Table>, where k is between 1 and number of <Table Property Description> components of the <Data Table>, and
    2. X is identified as an EDCS Metadata Code M, but
    3. M does not correspond to a <Property Characteristic> for the kth <Table Property Description> specifying a sentinel value

    That is, M is only valid if it corresponds to a <Property Characteristic> for the kth TPD specifying one of the following EDCS Metadata Codes:
    • EMC_MISSING
    • EMC_VALUE_WITHHELD
    • EMC_NOT_APPLICABLE
    • EMC_UNDESIGNATED
    • EMC_POSITIVE_OVERFLOW
    • EMC_NEGATIVE_OVERFLOW
    • EMC_POSITIVE_UNDERFLOW
    • EMC_NEGATIVE_UNDERFLOW


Parameters Notes


data_table

 the <Data Table> object to which cells are being added.

extents_ptr

 specifies the cells provided by the user (which 'region'
    of the <Data Table> is to be written).

table_prop_descript_number

 an index into the ordered list of
 <Table Property Descriptions> aggregated by the
 <Data Table>.

byte_count

 the amount of memory occupied by the data values of the cells
    provided.  The type of the selected element determines the number of
    bytes needed per cell. The product of (number of cells) times (bytes per
    cell) must be provided by the user through this byte_count parameter.
    (The number of cells is determined from the extents parameter.)
    This is done as a safeguard in an attempt to ensure that the user
    allocated the correct amount of memory for the pointer inside
    data_in_ptr.

data_in_ptr

 an SE_Property_Data_Value_Ptr struct, which contains a 'tag'
    indicating which pointer from the union of pointers is active, and a
    union of pointers, one of which should be pointing to byte_count bytes
    memory, which will be read by this function to provide the appropriate
    values.  This memory space is entirely under the user's control.  The
    only time the API accesses this memory is when the API reads data from
    it during this function call.


Prev: SE_PutElementOfDataTable. Next: SE_PutFields. Up:Index.

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™