OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
Writing Your Program
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
5-25
Transferring Out a Root Object
 syntax := OM_S_IA5_STRING; -- Syntax of string segment
INT(32)
 object_id, -- ID of object that contains
 -- attribute to which string
 -- segment is written
 value_position := IGNORED_FOR_SINGLE_VALUED_ATT,
 element_number := 35D, -- Length of segment
 string_offset := ZGPI_NEW_VALUE; -- Starting point
STRING
 .EXT data_string[0:79];
 data_string ':=' "This is the content of the message.";
Procedure call:
status := GPI_OM_WRITE_ ( object_id,
 attribute_type,
 value_position,
 string_offset,
 data_string,
 element_number,
 syntax);
Transferring Out a Root Object
After a root object is fully formed, it can be transferred out of the gateway. You call the 
GPI_MT_TRANSFER_OUT_ procedure to transfer a root object from GPI library 
memory space to the GPI service output queue. As the root object passes through the 
GIP, it is converted into a form suitable for transfer to the X.400 network. Figure 5-6 
shows how decoded root objects are transferred out of the GPI library memory segment.
Before you transfer a root object to the GPI service output queue, the root object must be 
completely defined. Any subobjects you have created and associated with the root 
object (through the root-object parameter) must be inserted by a call to 
GPI_OM_INSERT_ .  In addition, all subobjects must be fully populated with their 
required attributes. If you attempt to transfer out a root object that is not fully defined, 
Figure 5-6. Using GPI_MT_TRANSFER_OUT_ With Decoded Root Objects
506CDT .CDD
GPI Library Memory Segment
Root object
encoded into form
suitable for
transfer by
OSI/MHS MTA
GPI Service Output
Queue
Message, 
Probe, or Report
Attribute
Attribute
Attribute
OBJECT
Attribute










