1 /* procedure tomake a new group_id from an original and matching */ 2 3 new_group_id_: proc (original, new) returns (char(32)); 4 dcl (original, new) char(32) aligned; 5 dcl return char(32) varying init(""); 6 dcl group_id_part_ entry (char(32) aligned, fixed bin) returns (char(*)); 7 dcl i fixed bin; 8 9 do i = 1 to 3; 10 if group_id_part_ (new, i) = "" 11 then return = return || group_id_part_ (original, i); 12 else return = return || group_id_part_ (new, i); 13 if i ^= 3 then return = return || "."; 14 end; 15 16 return (return); 17 18 end;