OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
TAL Program Example
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
A-29
 descriptor_list[0].value.object.padding := 0D;
 descriptor_list[0].value.object.object := local_object;
 local_rc := GPI_OM_INSERT_ ( root_id,
 0D,
 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 (" Copy the object ");
 local_rc := GPI_OM_COPY_ ( local_object, -- Original object Id
 local_object_2,
 root_id,
 ); -- Session not necessary
 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 (" " &
 "Examine the object id of the copied object " &
 "OR_NAME ");
 local_rc := GPI_OM_EXAMINE_ ( local_object_2,
 OM_TRUE, -- Values returned
 0D, -- First element
 MAX_DESCRIPTORS_32,
 desc_list,
 total_number,
 , -- Actual number
 , -- String buffer
 , -- String buffer len
 , -- Actual string length
 ); -- Total_string length
 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 );
 exist := search_descriptor ( MH_T_RECIPIENT_NAME,
 desc_list,
 MAX_DESCRIPTORS_32);
 IF ( exist > -1 ) THEN
 BEGIN
 printf (" " &
 "Delete the object MH_C_OR_NAME ");
 local_rc :=
 GPI_OM_DELETE_ 
 (desc_list[exist].value.object.object);
 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 (" " &
 "Second object OR NAME");










