This works for PARTY given you data but you need to show more records, and complete specs.
[pre]
ata test;
input (Cust Typ ID Field)($) field_value &$16.;
cards;
100 EVT 23 PARTY JOHN SMITH
100 EVT 23 PARTY EMMA SMITH
100 EVT 23 PARTY BBT COMPANY
123 EVT 1 AggValue 61309
;;;;
run;
proc print;
run;
data test2;
do until(last.field);
set test;
by cust typ id field;
if field eq 'PARTY' then do;
length string $64;
string = catx(cat(substr(', &',1+last.field,1+last.field),' '),string,field_value);
end;
else string = ' ';
end;
run;
proc print;
run;
[/pre]