Just create a NORMAL csv file. In a CSV file values are separated by commas. You can make a generalized version using a different delimiter. In fact in many European countries they use semi-colon as the delimiter because commas are use as decimal places and so appear frequently in numeric fields.
Values can OPTIONALLY be enclosed in quotes. When a value is quoted then embedded quotes should be doubled up. Note that values that contain the delimiter (comma) or quote character MUST be enclosed in quotes.
Le'ts try it with your example data.
data have ;
infile cards dsd dlm='|' truncover ;
input NAME $ RECORD :$10. AMOUNT DATE :ddmmyy. ;
format date yymmdd10. ;
cards;
NAME-1|RECORD"1|20.83|17/10/2017
NAME-2|RECO,RD"2|9.86|30/05/2018
NAME-3|RECORD"3|5.68|05/08/2012
NAME-4|REC,ORD"4|3.21|01/06/2012
NAME-5|RECORD"5|465.37|03/10/2014
;
filename csv temp;
data _null_;
set have ;
file csv dsd ;
put (_all_) (+0);
run;
PS Don't use MDY or DMY order for dates. Which ever one you pick will confuse half of your global audience.
Result:
NAME-1,"RECORD""1",20.83,2017-10-17
NAME-2,"RECO,RD""2",9.86,2018-05-30
NAME-3,"RECORD""3",5.68,2012-08-05
NAME-4,"REC,ORD""4",3.21,2012-06-01
NAME-5,"RECORD""5",465.37,2014-10-03
... View more