OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
TAL Program Example
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
A-43
 actual_number);
 -- Print or name
 max_print_def := 6D;
 f_descriptor_list[0].type := MH_T_ADMD_NAME;
 f_descriptor_list[1].type := MH_T_COUNTRY_NAME;
 f_descriptor_list[2].type := MH_T_PRMD_NAME;
 f_descriptor_list[3].type := MH_T_ORGANIZATION_NAME;
 f_descriptor_list[4].type := MH_T_ORGANIZATIONAL_UNIT_NME_1;
 f_descriptor_list[5].type := MH_T_SURNAME;
 print_arr[0].type := MH_T_ADMD_NAME;
 print_arr[1].type := MH_T_COUNTRY_NAME;
 print_arr[2].type := MH_T_PRMD_NAME;
 print_arr[3].type := MH_T_ORGANIZATION_NAME;
 print_arr[4].type := MH_T_ORGANIZATIONAL_UNIT_NME_1;
 print_arr[5].type := MH_T_SURNAME;
 print_arr[0].text ':=' " Admd Name: ";
 print_arr[1].text ':=' " Country Name: ";
 print_arr[2].text ':=' " Prmd Name: ";
 print_arr[3].text ':=' " Organization Name: ";
 print_arr[4].text ':=' " Organization Unit Name: ";
 print_arr[5].text ':=' " Surname: ";
 printf (" Originator Name");
 CALL print_object ( MH_T_ORIGINATOR_NAME,
 max_print_def,
 print_arr,
 f_descriptor_list,
 descriptor_list,
 actual_number);
 -- Print message rd
 -- GPI_OM_LIST_ is needed to get the values from the multivalued
 -- attribute.
 local_rc := GPI_OM_LIST_ ( root_id,
 MH_T_RECIPIENT_DESCRIPTORS,
 ZGPI_POSITION_AT_BEGIN,
 MAX_DESCRIPTORS_32,
 descriptor_list_3,
 total_number,
 actual_number,
 string_buffer,
 STRING_BUFFER_LEN,
 actual_string_len,
 total_string_len );
 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 );
 -- Print the two multivalued attributes
 FOR counter := 0 TO $int( (actual_number - 1D) ) DO
 BEGIN
 local_rc := GPI_OM_EXAMINE_
 ( descriptor_list_3[counter].value.object.object,
 OM_TRUE, -- Values returned
 0D, -- First element
 MAX_DESCRIPTORS_32,
 descriptor_list_2,
 total_number_2,










