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");