There's nothing in your code to indicate that the graph should have colours. If you specify the colours in PROC SGPLOT they are honoured and override the Style. The STYLE you've chosen is Journal, which is designed for print journals (eons ago) and do not include colour by design.
This shows the difference, where the first graph comes out with colours and the second does not and assumes the default style for Journal.
As another user pointed out, you can choose a different style and get automatic colours, but they're the template colours and not what you choose. There are various methods for specifying color within SGPLOT, the approach used here is a bit of overkill but its the documentation example so easy to use and copy/paste. This is a method typically used to ensure that items are coloured similar across multiple graphs even when possibly missing values, because SAS cycles the colours sequentially regardless of the groups/missing.
data fruit_sales;
input Fruit $ Sales;
datalines;
Apples 40
Pears 25
Oranges 50
Grapes 30
Bananas 60
run;
data attrmapfruit;
retain linecolor "black";
input id $ value $ fillcolor $;
datalines;
fruit Apples red
fruit Pears green
fruit Oranges orange
fruit Grapes purple
fruit Bananas yellow
;
run;
ods rtf file='/folders/myfolders/demo.rtf' style=journal;
title "Fruit Sales V01 - color";
proc sgplot data=fruit_sales dattrmap=attrmapfruit;
vbar Fruit / response=Sales group=Fruit attrid=fruit;
run;
title;
title "Fruit Sales V02 - no formats";
proc sgplot data=fruit_sales;
vbar Fruit / response=Sales group=Fruit ;
run;
title;
ods rtf close;