SEDRIS Reference Manual
APPENDIX A - LEVEL 0 READ and WRITE API
Functions
SE PutPackedDataTableSubExtent
extern SE_Status_Code
SE_PutPackedDataTableSubExtent
(
SE_Object data_table, (notes)
constSE_Data_Table_Sub_Extent *extents_ptr, (notes)
SE_Integer_Positive element_count, (notes)
constSE_Integer_Positive table_prop_descript_number[], (notes)
SE_Integer_Unsigned byte_count, (notes)
constchar *data_in_ptr (notes)
);

Definition

Used to create the cells of the given <Data Table>.

Used to create the cells of the specified subregion of the given <Data Table> in a packed format. (To create the entire <Data Table> at once, use SE_PutPackedDataTable() instead.)

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 specified cells of data_table are created as requested, if valid parameters were passed in and all operations succeeded.
SE_STAT_CODE_NULL_REQUIRED_PARAMETER and data_table is unaffected, if
  1. data_in_ptr was NULL,
  2. extents_ptr was NULL,
  3. table_prop_descript_number was NULL, or
  4. element_count is zero.
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 instance.
SE_STAT_CODE_UNRESOLVED_OBJECT and data_table is unaffected, if data_table is a currently unresolved object (see SE_Object's comments for details on how this condition occurs).
SE_STAT_CODE_INVALID_ACCESS_MODE and data_table is unaffected, if data_table belongs to a transmittal that 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. the specified extents are not valid for data_table,
  5. the byte_count is not correct for the given extents and set of table_prop_descript_number entries, or
  6. the API implementation specified does not provide this function in its shared library, and dynamic binding is specified at compile time.
  7. 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> whose cells are being created.

extents_ptr

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

element_count

 the number of elements per cell to create, and the size
    of the table_prop_descript_number array.

table_prop_descript_number

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

byte_count

 the amount of memory that is occupied by the data values of
    the cells to be created. The size (number of bytes) needed for each cell
    is the number of elements (element_count) times the size of a cell value
    (the sizeof(SE_Property_Data_Value)).

data_in_ptr

 a pointer to byte_count bytes of memory, already allocated
    in the user's memory space, to be written to the <Data Table>


Prev: SE_PutPackedDataTable. Next: SE_RemoveAssociateRelationship. Up:Index.

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