OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
TAL Program Example
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
A-30
 -- Build and insert the second rdorname_object
 local_rc := build_and_insert_rdorname_obj
(root_id,local_object_2,SECOND);
 IF (( local_rc = OM_RC_SUCCESS ) OR
 ( local_rc = ZGPI_RC_WARNING )) THEN
 BEGIN
 IF ( local_rc = ZGPI_RC_WARNING ) THEN
 printfd (" WARNING! number: ", local_rc);
 printf (" " &
 "Remove the attribute " &
 "MH_T_RECIPIENT_NUMBER");
 local_rc := GPI_OM_REMOVE_
 ( local_object_2,
 MH_T_RECIPIENT_NUMBER, -- Attribute type
 0D, -- Value position
 1D, -- Maximum number
 total_number);
 IF (( local_rc = OM_RC_SUCCESS ) OR
 ( local_rc = ZGPI_RC_WARNING )) THEN
 BEGIN
 IF ( local_rc = ZGPI_RC_WARNING ) THEN
 printfd (" WARNING! number: ",
 local_rc );
 printf (" " &
 "Insert the attribute " &
 "MH_T_RECIPIENT_NUMBER with new" &
 " value");
 descriptor_count := 1D;
 descriptor_list[0].type :=
MH_T_RECIPIENT_NUMBER;
 descriptor_list[0].syntax := OM_S_INTEGER;
 descriptor_list[0].value.integer := 2D;
 local_rc := GPI_OM_INSERT_
 ( local_object_2,
 IGNORED_FOR_SINGLE_VALUED_ATT,
 descriptor_list,
 descriptor_count );
 IF (( local_rc = OM_RC_SUCCESS ) OR
 ( local_rc = ZGPI_RC_WARNING )) THEN
 BEGIN
 IF ( local_rc = ZGPI_RC_WARNING ) THEN
 printfd (" WARNING! number: ",
 local_rc );
 printf (" " &
 "Insert the object into the" &
 " root object");
 descriptor_count := 1D;
 descriptor_list[0].type :=
MH_T_RECIPIENT_DESCRIPTORS;
 descriptor_list[0].syntax := OM_S_OBJECT;
 descriptor_list[0].value.
 object.padding :=
 0D;
 descriptor_list[0].value.object.










